我和我的朋友从主存储库(上游)分叉。昨晚,我们在本地计算机上拥有相同版本的此存储库。然后我添加了一个新功能,我的朋友也添加了另一个新功能。我的朋友将请求提取到主存储库,我已将此拉取请求与上游存储库合并,没有冲突。当我从上游获取并与我的主分支合并时,它会发生冲突。 在这种情况下我该怎么办才能解决冲突? (解决冲突后上游存储库应该有2个新功能)
答案 0 :(得分:10)
请注意,您还可以直接从Eclipse / Egit本身解决合并冲突:
请参阅“Egit: Solving Merge Conflicts”:
您可以手动编辑左侧的文本或使用“从右向左复制当前更改”按钮从右向左复制冲突的更改。
下一步是从文件的上下文菜单中选择Team - >添加到索引。提交。
答案 1 :(得分:4)
只需浏览git status
标记为冲突的文件,找到冲突标记(您可以在文件中搜索====
)。协调它们之间的更改,找出是否有任何其他意外因代码组合而中断,运行测试,然后正常使用git add
和git 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的)。