我正在寻找从最后一次提交创建补丁的命令。

我的工作流程有时是这样的:

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

现在我只想写:

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

我应该在那里写什么,而不是从最后提交到文件创建补丁?


一般来说,

git format-patch -n HEAD^

(查看帮助中的许多选项),尽管它实际上是为了邮寄它们。 对于单个提交

git show HEAD > some-patch0001.patch

会给你一个有用的补丁。


你需要-p选项git log:

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

从@Useless answer中,你也可以使用最后一次提交不带参数的一般形式,并将其放入一个文件中:

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

或者,当必须通过加倍转义插入符号时,对windows用户来说更干净:

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

另一种方法,如果有特定commit的commit id, 你可以用,

git format-patch -1 {commit-id}

git format-patch -1

这是我的工作。


例如,如果你在Github上的分支“branch_name”中推送代码。这个分支上的每个提交都有单独的url。单击最近一次提交。

在url末尾添加.patch。修改后的url是这样的: https://github.com/xyz/lmn-ms/tree/branch_name.patch。 然后复制和粘贴整个内容,这将在step1中分开 本地文件,并以.patch扩展名保存。 补丁可以使用了。