我可以让git创建两个文件用于合并(我和他们的)而不是一个

时间:2015-05-10 06:29:37

标签: git

如果我在变革或其他合并情况下最终陷入更复杂的冲突,我会创建一个&#34; mine&#34;和#34;他们的&#34;文件并使用我的IDE进行视觉差异。然后我会开始手动修复差异,直到文件变为&#34;相等&#34;我会将更改复制到冲突文件并jQuery(document).ready(function($){ $('.full-streams-link').on('click', 'a', function(e) { e.preventDefault(); TweenLite.to(window, .4, { scrollTo: {y:500}, ease: Power2.easeOut, force3D: true }); }); }); ,而不是阅读和删除git add<<<<< HEAD >>>>>>>部分。

有没有办法通过创建&#34; mine&#34;来自动化零件。和#34;他们的&#34;文件?我只想在同一个目录中有两个带有两个不同名称的文件,而不必根据我自己的提交版本签出它们。

2 个答案:

答案 0 :(得分:2)

要回答问题,您需要git checkout-index --stage=。第1阶段是合并基础,两个历史分歧的版本。第二阶段是你的,第三阶段是他们的。您可以git checkout-index --stage=all myfile并打印出为每个人发明的名称,例如

$ git checkout-index --stage=all file.txt
.merge_file_a01172 .merge_file_b01172 .merge_file_c01172        file.txt

将原版用于比较可能会很好。

答案 1 :(得分:1)

运行

git mergetool

完全符合您的要求。您所要做的就是配置要使用的合并工具(有关详细信息,请参阅man git-mergetool)。

它内置支持kdiff3vimdiff(在三种不同的模式下)和其他漂亮的工具,您可以扩展它以使用IDE作为合并工具。