解决合并冲突而无需手动编辑每个文件

时间:2016-07-13 18:58:59

标签: git merge-conflict-resolution

我是Git的新手,我正试图找到一种更快的方法来解决合并冲突。假设我尝试将分支合并到主分区,并且我得到一些文件的合并冲突。

Changes to be committed:

    modified:   ...

Unmerged paths:
   (use "git add <file>..." to mark resolution)

    both modified:   ...

Git会进入两个修改后的文件中并添加冲突解决标记吗? (&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;这个东西)。通常我会进入文件并手动更改它们,但在这种情况下,它们都是bin文件,与我的程序工作不太相关。有没有办法我可以暂存所有modified文件并指定我希望所有unmodified文件保持它们在合并前master中的方式。 (基本上忽略从分支到这些文件的更改)。感谢

2 个答案:

答案 0 :(得分:1)

您必须找到要使用的文件的副本,签出,更改阶段,然后提交。例如:

git log 

(find out we want the file from commit ac3422d4ceba793ff9fd3df81159d23111a760e2)

git checkout ac3422d4ceba793ff9fd3df81159d23111a760e2 file/to/fix.txt
git add file/to/fix.txt
git commit -m "success!!"

这是做什么的:

  • 将文件替换为指定提交中的文件
  • 将更改标记为已解决的文件上的合并冲突
  • 提交更改/合并

答案 1 :(得分:0)

合并时,您可以指定&#34;策略&#34;。来自git help merge

  

我们

     

这可以解析任意数量的头,但是合并的结果树总是有效地支持当前分支头              忽略所有其他分支的所有更改。它旨在用于取代侧枝的旧发展历史。              请注意,这与递归合并策略的-Xours选项不同。