我在一个分支上有八个提交,我想通过电子邮件发送给一些还没有 git 开明的人。到目前为止,我所做的一切要么给了我 8 个补丁文件,要么从一开始就开始给我分支历史中每个提交的补丁文件。我使用 git rebase –interactive 来压缩提交,但现在我尝试的一切从一开始就给了我无数的补丁。我究竟做错了什么?
git format-patch master HEAD # yields zillions of patches, even though there's # only one commit since master
我建议在一次性分支上执行此操作,如下所示。如果您的提交在“换行符”分支中并且您已经切换回“主”分支,那么这应该可以解决问题:
[adam@mbp2600 example (master)]$ git checkout -b tmpsquash Switched to a new branch "tmpsquash" [adam@mbp2600 example (tmpsquash)]$ git merge --squash newlines Updating 4d2de39..b6768b2 Fast forward Squash commit -- not updating HEAD test.txt | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) [adam@mbp2600 example (tmpsquash)]$ git commit -a -m "My squashed commits" [tmpsquash]: created 75b0a89: "My squashed commits" 1 files changed, 2 insertions(+), 0 deletions(-) [adam@mbp2600 example (tmpsquash)]$ git format-patch master 0001-My-squashed-commits.patch