我正在寻找从最后一次提交创建补丁的神奇命令。
我的工作流程有时看起来像这样
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
?
答案 0 :(得分:281)
一般来说,
git format-patch -n HEAD^
(检查许多选项的帮助),虽然它真的用于邮寄它们。 对于单个提交只是
git show HEAD > some-patch0001.patch
会给你一个可用的补丁。
答案 1 :(得分:52)
从@Useless回答中,你也可以使用没有参数的常规表单进行最后一次提交,并将其放入一个文件中:
git format-patch HEAD^ --stdout > patchfile.patch
或者,当必须通过加倍来删除插入符号时,为Windows用户提供更清洁的功能:
git format-patch HEAD~1 --stdout > patchfile.patch
答案 2 :(得分:28)
另一种方式,如果具有该特定提交的提交ID, 你可以用,
git format-patch -1 {commit-id}
答案 3 :(得分:8)
你需要-p
选项来git log:
git log -1 -p --pretty='%b'
答案 4 :(得分:4)
git format-patch -1
我的工作。
答案 5 :(得分:0)
例如,如果要在Github上的分支“ branch_name”中推送代码。该分支上的每个提交都将具有单独的URL。点击最新提交。