微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

你如何使用 git format-patch 将提交压缩到一个补丁中?

如何解决你如何使用 git format-patch 将提交压缩到一个补丁中?

我建议在一次性分支上执行此操作,如下所示。如果您的提交在“换行符”分支中并且您已经切换回“主”分支,那么这应该可以解决问题:

[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

解决方法

我在一个分支上有八个提交,我想通过电子邮件发送给一些还没有 git 开明的人。到目前为止,我所做的一切要么给了我 8
个补丁文件,要么从一开始就开始给我分支历史中每个提交的补丁文件。我使用 git rebase –interactive
来压缩提交,但现在我尝试的一切从一开始就给了我无数的补丁。我究竟做错了什么?

git format-patch master HEAD # yields zillions of patches,even though there's 
                             # only one commit since master

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。