2

当我变基并出现冲突时,冲突文件如下所示:

<<<<<<< c50c817dad7008a3760241084de2b83fd4f84288
it was on master 456
=======
it was on master 123
>>>>>>> branch - set up README conflict

有时其他人不会做出如此好的提交信息,所以我可能会得到这样的结果:

<<<<<<< c50c817dad7008a3760241084de2b83fd4f84288
it was on master 456
=======
it was on master 123
>>>>>>> fixed stuff

这样做的问题是,如果有多个“固定的东西”提交,我将很难找到确切的提交。有没有办法让 git 总是使用 SHA 哈希而不是提交消息?

4

1 回答 1

0

抱歉不行。

好吧,另一方面:是的,有点:手动使用分离的 HEAD 和樱桃选择提交,通过 ID 以便 git 没有可以替换的名称。不过,这违背了 rebase 的大部分目的(rebase 自动挑选樱桃,加上最后的分支名称更新)。

不过,您不需要这样做有两个原因。您无法控制的是人们不应该使用蹩脚的提交消息。:-) 您可以使用的方法是,当 rebase 因冲突而停止时,HEADCHERRY_PICK_HEAD确定两个冲突提交的 SHA-1。有关详细信息,git cherry-pick请参阅文档

(我还建议设置merge.conflictstylediff3,它可以让您查看基本版本。对于 rebase/cherry-pick 而言,它不像完全合并那样需要,但我喜欢它。)

于 2016-03-29T20:22:22.050 回答