有git merge上游/ master的问题 - 如何处理冲突(内容)消息

时间:2014-07-29 16:08:05

标签: git

我对Git有点新意,所以请耐心等待。我正在尝试更新我的本地回购。这些是我为了获得合并冲突消息而遵循的git步骤。

$ git fetch upstream
$ git branch -va
$ git branch
$ git merge upstream/master


johnsmacbook:phase-0-unit-1 johnl$ git merge upstream/master
Auto-merging week-2/5-Think-about-time/my_reflection.md
CONFLICT (content): Merge conflict in week-2/5-Think-about-time/my_reflection.md
Auto-merging week-2/4-Your-Own-Website-Solo-Challenge/my_reflection.md
CONFLICT (content): Merge conflict in week-2/4-Your-Own-Website-Solo-Challenge/my_reflection.md
Auto-merging week-2/2-Intermediate-HTML-CSS/readme.md
Automatic merge failed; fix conflicts and then commit the result.

2 个答案:

答案 0 :(得分:1)

必须手动解决冲突。

一般来说,这个过程看起来像这样:

  1. 搜索标识为包含<<<<<<<=======>>>>>>>标记冲突的文件。这些将指示冲突的部分,在<<<<<<<=======之间进行一组更改,另一组在同一=======>>>>>>>之间进行更改。

  2. 修复这些冲突。这可能意味着选择一个或另一个版本,或者它可能意味着更多。冲突可以采用任何形式,这就是需要手动解决的原因。了解代码的人必须选择如何修复它。

    在任何一种情况下,请在完成后删除冲突标记。

  3. git add您解决冲突的文件将这些文件标记为已解决。

  4. 解决所有冲突后,提交结果。

  5. Pro Git discusses this in more detail

答案 1 :(得分:1)

如果出现冲突,您可以使用git mergetool解决此问题。

此外,您可以集成GUI(例如,DiffMerge)。 有关详细信息:http://gitguru.com/2009/02/22/integrating-git-with-a-visual-merge-tool/