我和我的朋友从主仓库(上游)派生出一个分支。昨晚,我们在本地机器上都有相同的仓库版本。然后我添加了一个新功能,我的朋友也添加了另一个新功能。我的朋友向主仓库发起拉取请求,而我将这个拉取请求与上游仓库合并,没有冲突。但是当我从上游仓库获取并与我的主分支合并时,发生了冲突。在此情况下,我应该怎么解决冲突?(解决冲突后,上游仓库应该有2个新功能)
您可以手动编辑左侧的文本,或使用“从右到左复制当前更改”按钮将冲突更改从右侧复制到左侧。
下一步是从文件的上下文菜单中选择团队 -> 添加到索引。然后提交。
只需查看由git status
标记为冲突的文件,并查找冲突标记(您可以在文件中搜索====
)。调和它们之间的更改,确定您的代码组合是否破坏了其他意外的内容,运行您的测试,然后像平常一样使用git add
和git commit
来创建一个合并您和您朋友新功能的提交。
Upstream: original with friend's feature with both
\ \ / \ /
\ -- Friend's --/ \ /
\ \ /
---- Yours ------------------------- your merge
git difftool path/filename
来使用工具解决冲突,或者使用内置冲突解决功能的Git软件。我非常喜欢SmartGit(由SmartSVN制造商制作)和TortoiseGit(与TortoiseSVN非常相似)。