合并冲突Git

时间:2012-04-29 04:31:51

标签: git egit

我和我的朋友从主存储库(上游)分叉。昨晚,我们在本地计算机上拥有相同版本的此存储库。然后我添加了一个新功能,我的朋友也添加了另一个新功能。我的朋友将请求提取到主存储库,我已将此拉取请求与上游存储库合并,没有冲突。当我从上游获取并与我的主分支合并时,它会发生冲突。 在这种情况下我该怎么办才能解决冲突? (解决冲突后上游存储库应该有2个新功能)

3 个答案:

答案 0 :(得分:10)

请注意,您还可以直接从Eclipse / Egit本身解决合并冲突:
请参阅“Egit: Solving Merge Conflicts”:

  

您可以手动编辑左侧的文本或使用“从右向左复制当前更改”按钮从右向左复制冲突的更改。

     

下一步是从文件的上下文菜单中选择Team - >添加到索引。提交。

merge conflict resolution in EGit

答案 1 :(得分:4)

只需浏览git status标记为冲突的文件,找到冲突标记(您可以在文件中搜索====)。协调它们之间的更改,找出是否有任何其他意外因代码组合而中断,运行测试,然后正常使用git addgit commit进行提交合并朋友的新功能和你的一起。

Upstream: original                 with friend's feature            with both
               \  \               /                \               /
                \  -- Friend's --/                  \             /
                 \                                   \           /
                  ---- Yours ------------------------- your merge

答案 2 :(得分:1)

您可以在控制台中键入git difftool path/filename以使用工具解决冲突或使用内置冲突解决方案的Git软件。我非常喜欢SmartGit(来自SmartSVN的制造商)和TortoiseGit(非常类似于TortoiseSVN的)。