合并冲突 Git

6
我和我的朋友从主仓库(上游)派生出一个分支。昨晚,我们在本地机器上都有相同的仓库版本。然后我添加了一个新功能,我的朋友也添加了另一个新功能。我的朋友向主仓库发起拉取请求,而我将这个拉取请求与上游仓库合并,没有冲突。但是当我从上游仓库获取并与我的主分支合并时,发生了冲突。在此情况下,我应该怎么解决冲突?(解决冲突后,上游仓库应该有2个新功能)
3个回答

10
注意,你也可以直接在Eclipse/Egit中解决合并冲突:
请参考“Egit:解决合并冲突”:

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

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

在 EGit 中解决合并冲突


请参考https://dev59.com/Hmgt5IYBdhLWcg3w-SP1,了解该工具的使用示例。 - VonC

4

只需查看由git status标记为冲突的文件,并查找冲突标记(您可以在文件中搜索====)。调和它们之间的更改,确定您的代码组合是否破坏了其他意外的内容,运行您的测试,然后像平常一样使用git addgit commit来创建一个合并您和您朋友新功能的提交。

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

1
您可以在控制台中键入git difftool path/filename来使用工具解决冲突,或者使用内置冲突解决功能的Git软件。我非常喜欢SmartGit(由SmartSVN制造商制作)和TortoiseGit(与TortoiseSVN非常相似)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接