繁体   English   中英

如何删除合并分支和压缩提交

[英]How to delete a merge branch and squash commits

我很难尝试压缩这些过多的提交。 当我运行git log --pretty=oneline ,以下项按以下顺序显示:

e44e012 Merge branch 'branch A' of https://github.com/ into branch A 4176991 Commit D 767583f Commit C f5a4c21 Commit B 83bb8e1 Commit A

我想将这些压缩为一个提交并摆脱提交合并。 当我运行git rebase -i HEAD~2 ,出现AD提交,但未显示提交合并。 知道为什么吗? 当我尝试运行git rebase -i HEAD~5 ,我得到的提交AD与其他一些提交一起出现,但是合并提交仍然没有显示为压扁选项。

* e44e012 Merge branch 'Branch A' of https://github.com/ into Branch A |\\ | * 767583f Commit C | * f5a4c21 Commit B | * 83bb8e1 Commit A * | 4176991 Commit D |/

输入git rebase -i HEAD~5应该显示如下列表:

pick 83bb8e1 Commit A
pick f5a4c21 Commit B
pick 767583f Commit C
pick 4176991 Commit D
pick e44e012 Merge branch 'branch A' of https://github.com/ into branch A

请注意, 最早的提交将出现在列表的顶部 ,这与git log显示的顺序相反。

如果您想将合并提交以及提交B到提交D压缩到提交A中,请将该文件更改为如下所示:

pick 83bb8e1 Commit A
squash f5a4c21 Commit B
squash 767583f Commit C
squash 4176991 Commit D
squash e44e012 Merge branch 'branch A' of https://github.com/ into branch A

保存文件,关闭文件,然后输入git rebase --continue完成重新设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM