当我们通过git rebase
解决一些git冲突并通过简单消息(例如"resolve conflicts"
)重新建立 squash 时,是否有可能?
这是我解决特定冲突后的提交历史记录:
如您所见,最后3次提交分别代表git rebase
和git push -f
。我认为,只给一条消息设置一次提交而不是3条(当前分支上的提交数量)提交更合乎逻辑
答案 0 :(得分:1)
我建议进行交互式变基,选择要提交的内容以及要压榨的内容,并以squash为前缀,而不是选择。
例如,在您的情况下,它看起来像这样(数字是您希望重新设置HEAD之后的提交次数):
git rebase -i HEAD~3
然后您将得到一个提示,其中包含提交及其消息,看起来像这样:
pick <HASHID> Initial Commit
pick <HASHID> Login via mail instead of username
pick <HASHID> Add missing files
只需将选择权更改为壁球(并保留一个作为选择权提交)。
然后您将能够重写该提交消息,并且您将拥有1次提交,如果需要,可以执行git push -f。