在git中,如何为最后的2+版本创build一个补丁?

我想为最后2个版本创build一个补丁。

git format-patch -2 

给我2个补丁文件,每个版本一个

 git format-patch HEAD~2..HEAD 

给出同样的事情。

 git format-patch -1 HEAD~2..HEAD 

给出一个单一的文件,但只包含最后修订版本的变化。

有没有办法做到这一点在混帐?

 git diff HEAD~2..HEAD > my-patch.diff 

不过,它不会有格式补丁的每个提交元数据。

使用–stdout选项,然后将其捕获到一个文件。

像这样:

 git format-patch HEAD~2..HEAD --stdout > changes.patch 

这将保持每个提交的元数据。

你可以做这样的事情:

 $ git checkout -b tmp
 $ git reset HEAD〜2
 $ git commit -a

分支tmp的提交将与2个单独的提交相同。