Как просто создать патч из моего последнего git commit?

Я ищу волшебную команду для создания патча из последней сделанной фиксации.

Мой рабочий процесс иногда выглядит следующим образом

vi some.txt
git add some.txt
git commit -m "some change"

и теперь я просто хочу написать

git create-patch-from-last-commit-to-file SOME-PATCH0001.patch

но что я должен там положить вместо create-patch-from-last-commit-to-file?

Ответ 1

В общем случае

git format-patch -n HEAD^

(проверьте справку для многих опций), хотя это действительно для их рассылки. Для одной фиксации просто

git show HEAD > some-patch0001.patch

предоставит вам полезный патч.

Ответ 2

Взяв из ответа @Useless, вы также можете использовать общую форму без параметров для последней фиксации и поместить ее в файл с помощью:

git format-patch HEAD^ --stdout > patchfile.patch

Или, будучи более чистым для пользователей Windows, когда необходимо убрать каретки, удвоив их:

git format-patch HEAD~1 --stdout > patchfile.patch

Ответ 3

другой способ, если имеется идентификатор фиксации этого конкретного коммита, вы можете использовать

git format-patch -1 {commit-id}

Ответ 4

Вам нужна опция -p для git журнала:

git log -1 -p --pretty='%b'

Ответ 5

git format-patch -1

Работает ли для меня работа.