如何将forked repo合并到主要仓库中并发生冲突?

时间:2016-07-23 17:59:40

标签: git github

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

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

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

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

你能帮我解决正确的步骤吗?

谢谢和问候 克里希纳

2 个答案:

答案 0 :(得分: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. 现在,您可以合并您的分支

答案 1 :(得分:0)

您有多种选择;

1)让pull请求的收件人在拉/合并它时解决冲突。

2您可以将原始仓库合并到fork中,并在合并期间解决冲突。然后原始文件可以在没有冲突的情况下拉入你的合并(因为你解决了它们)。

3)您可以在原始仓库之上重新设置fork并在rebase期间解决冲突。然后发送一个新的oull请求,它将完全合并。

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