[英]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.