当我将我的分支A
合并到分支B
并准备提交并推送时,我的控制台告诉我,我将推动101 commits
。问题是,如何将所有这些提交删除到一个提交中,以便我的分支B
历史记录不会被不必要的分支A
101提交历史记录所淹没。
答案 0 :(得分:0)
您可以sqash
分支A
的提交。
可以使用rebase
。
$ git rebase -i HEAD~100 //用于对最近的100次提交进行操作
此命令将打开一个包含以下详细信息的文件
选择#first_commit_hash ## first_commit_message#
选择#second_commit_hash ## second_commit_meesage#
......等等
将要合并到之前提交的提交更改为pick
到squash
。 squash
会将压缩提交的提交消息附加到其先前的提交中。如果要放弃提交消息,请使用fixup
。您可以在运行rebase命令时找到打开的文件中的所有选项。
如果将pick
替换为squash
进行99次提交,则在rebase结束时,您将拥有1次提交,其中包含所有100次提交的更改。然后,您可以在分支B
中合并此单个提交。