2016-07-23 62 views
0

我有一个场景,在我的项目中,我有一个主存储库,并分叉它并做了一些更改(大约40次提交15个文件)。现在我想将这些更改合并到主存储库中。我向主分支提出了一个PULL请求,但首先要解决很多冲突。我跟随了一些来自网络的选项来解决,但无法找出正确的解决方案。如何将分叉的回购与冲突的主回购合并?

我模拟了与本地项目相同的场景。主要存储库是https://github.com/guntukaramakrishna/UtilsJava

而分叉库是https://github.com/rksatniit/UtilsJava

主文件在一个文件中有一个更改,并添加了新文件。分叉的回购已经在两个文件中进行了一些更改。这就是我必须模拟相同的场景。

请问您能帮我解决正确的步骤吗?

感谢和问候
克里希纳

回答

0
  1. 您可以git fetch origin从远程主存储库。然后git checkout branch,合并本地分支的主要存储库,git rebase origin master
  2. 如果发生冲突,git rebase将停止在第一个有问题的提交并在树中留下冲突标记。你需要解决冲突。
  3. 然后你git add filename
  4. 解决冲突后,您可以继续使用git rebase --continue进行重新组装。 git rebase command
  5. 推送本地分支到远程,更新拉动请求,git push --force origin branch
  6. 现在,您可以合并你的分支
0

您有几种选择;

1)让拉取请求的接收者在拉取/合并时解决冲突。

2您可以将原始回购合并到您的分叉中并解决合并期间的冲突。然后原始文件可以在没有冲突的情况下进行合并(因为你解决了它们)。

3)您可以在原始回购之上重新分配您的分叉并解决重新分配期间的冲突。然后发送一个新的请求,将完全合并。

请注意,12保留存储库历史记录,而3重写它。