如何让git将SHA插入冲突的文件而不是提交注释?

时间:2016-03-29 19:59:01

标签: git git-merge-conflict

当我进行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哈希而不是提交消息?

1 个答案:

答案 0 :(得分:0)

不幸的是,没有。

嗯,另一方面:是的,有点:通过ID手动使用分离的HEAD和cherry pick提交,这样git就没有可以替换的名称。这虽然击败了rebase的大部分目的(rebase自动完成挑选,加上最后的分支名称更新)。

但是,出于两个原因,你不应该需要这样做。你无法控制的是人们不应该使用蹩脚的提交消息。 :-)你可以使用的那个是当rebase因冲突而停止时,HEADCHERRY_PICK_HEAD识别两个冲突提交的SHA-1。有关详细信息,请参阅the git cherry-pick documentation

(我还建议将merge.conflictstyle设置为diff3,这样可以查看基本版本。对于完全合并,它不像rebase / cherry-pick那样必要,但我喜欢它。)< / p>