我正在寻找从最后一次提交中创建补丁的命令。
我的工作流程有时是这样的:
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
?
一般来说,
git format-patch -n HEAD^
(查看帮助以获取许多选项),尽管它确实是用于将邮件发送给他们。
对于单个提交,只需
git show HEAD > some-patch0001.patch
将会给你一个可用的补丁。
git diff > change.patch
。你也可以包含一个修订范围,它允许您为未提交的更改创建补丁(patch)。然而,最大的区别在于,它将不会包括二进制文件的差异。有关更多详细信息,请参见What is the difference between 'git format-patch' and 'git diff'? 的答案。 - Rangi Keengit format-patch -1
,要么使用 git format-patch -n HEAD^
应该都可以。 - Useless参考 @Useless 的回答,您也可以使用没有参数的常规形式表示最后一次提交,并将其放入文件中:
git format-patch HEAD^ --stdout > patchfile.patch
或者,对于Windows用户而言,当需要转义插入符时更加清晰易懂的方法是将插入符加倍:
git format-patch HEAD~1 --stdout > patchfile.patch
git format-patch HEAD~1
。我认为这样在 Windows 上会更少引起困惑。 - Michael Burrgit format-patch HEAD^ -o ./patchfile.patch
生成补丁文件。 - OMKAR AGRAWALgit format-patch -1 {commit-id}
git format-patch -1
对我来说做得到。
你需要使用-p
选项来查看git log:
git log -1 -p --pretty='%b'
例如,如果您正在Github上推送代码到“branch_name”分支。该分支上的每个提交都有单独的URL。点击最新的提交。
git send-email
与gmail一起发送补丁给开发者 - Gabriel Staples