当我进行rebase并发生冲突时,冲突的文件如下所示:
<<<<<<< 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哈希而不是提交消息?
答案 0 :(得分:0)
不幸的是,没有。
嗯,另一方面:是的,有点:通过ID手动使用分离的HEAD和cherry pick提交,这样git就没有可以替换的名称。这虽然击败了rebase的大部分目的(rebase自动完成挑选,加上最后的分支名称更新)。
但是,出于两个原因,你不应该需要这样做。你无法控制的是人们不应该使用蹩脚的提交消息。 :-)你可以使用的那个是当rebase因冲突而停止时,HEAD
和CHERRY_PICK_HEAD
识别两个冲突提交的SHA-1。有关详细信息,请参阅the git cherry-pick
documentation。
(我还建议将merge.conflictstyle
设置为diff3
,这样可以查看基本版本。对于完全合并,它不像rebase / cherry-pick那样必要,但我喜欢它。)< / p>