6

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

4

3 回答 3

10

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

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

下一步是从文件的上下文菜单中选择 Team -> Add to index。比提交。

在 EGit 中合并冲突解决

于 2012-08-28T11:29:16.483 回答
4

只需浏览标记为冲突的文件git status并找到冲突标记(您可以====在文件中搜索)。协调它们之间的更改,确定代码组合是否破坏了其他意外情况,运行测试,然后像往常一样使用git addandgit commit进行提交,将您朋友的新功能与您的新功能合并。

Upstream: original                 with friend's feature            with both
               \  \               /                \               /
                \  -- Friend's --/                  \             /
                 \                                   \           /
                  ---- Yours ------------------------- your merge
于 2012-04-29T06:49:57.250 回答
1

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

于 2012-04-29T20:07:13.377 回答