我如何解决与Git的冲突?

Nei*_*l G 10 git merge github git-merge merge-conflict-resolution

我有一个拉请求,GitHub告诉我"这个分支有必须解决的冲突." 我试过了:

~/src/networkx: git rebase origin/master
Current branch topo is up to date.
~/src/networkx: git merge origin/master
Already up-to-date.
Run Code Online (Sandbox Code Playgroud)

Pau*_*l H 8

首先,您需要确保设置了上游远程存储库:

git remote add upstream git@github.com:networkx/networkx.git
Run Code Online (Sandbox Code Playgroud)

然后你需要获取upstream/master然后重新定义.这有点像:

git fetch upstream
git checkout <feature-branch>
git rebase upstream/master
Run Code Online (Sandbox Code Playgroud)

随着git在上游/主服务器上重放您的工作,将引发冲突,您将不得不深入研究文件以解决它们.那么你:

git add <files that you fixed>
git rebase --continue
Run Code Online (Sandbox Code Playgroud)


Edd*_* R. 5

尝试运行此操作以查看您设置的遥控器:

git remote -v
Run Code Online (Sandbox Code Playgroud)

如果您还没有从Github中分叉的原始存储库的远程数据库,则可以按如下方式添加它:

git remote add upstream https://github.com/networkx/networkx.git
Run Code Online (Sandbox Code Playgroud)

这将命名远程上游.在此之后,您可以将最新的上游合并到您的分支中并解决冲突:

git fetch upstream
git merge upstream/master
Run Code Online (Sandbox Code Playgroud)

如果第一个git remote -v命令已经显示了具有该名称的遥控器,则只需使用该命令而不是添加新的遥控器.希望有所帮助.


Von*_*onC 5

实际上......你已经没有在本地拉动和变形了.
自2016年12月起,您可以从GitHub解决(简单)合并冲突.

请参阅" 解决GitHub上的简单合并冲突 "

您现在可以直接从拉取请求解决GitHub上的简单合并冲突,从而节省您访问命令行并帮助您的团队更快地合并拉取请求.

演示如何解决合并冲突

新功能可帮助您解决由竞争行更改引起的冲突,例如当人们对Git存储库中不同分支上的同一文件的同一行进行不同更改时.
您仍然必须在命令行上本地解决其他更复杂的冲突.