2016-03-05 60 views
-1

我知道GitHub Flow是一个很好的Git工作流程,它简化了Git workflow。但是,有一个案例并没有涉及 - 如何合并来自不同用户的两个不同的git repos。 GitHub Flow可以提供任何帮助,或者我必须在命令行上完全恢复某些内容?从两个单独的GitHub分支中提取未合并的更改

即,GitHub Flow假设人们会相互合作。我的问题是,如果他们不这样做,我应该如何合并两个或更多的回购。我谈论的是回购协议:

​​和
https://github.com/dinhviethoa/go-imap/

https://github.com/jasonparekh/go-imap/network,我们可以看到,他们在不同的分支,甚至可以在不同的基地。也就是说,github go-imap项目有许多独立的分支。这些存储库都没有合并回原始的go-imap存储库。不管原因是落后的局面是什么,我想所有这些努力一起拉成一个资料库,从而使煤矿将包含所有有用的补丁

如何合并在这种情况下,两个或两个以上的回购协议?如果我需要在上述network graph的另一个回购合并中该怎么办?

+0

让我看看我是否明白。有一个名为go-imap的github项目有两个独立的分支。每个存储库中都有不同的代码,这些代码尚未合并回原始的go-imap存储库。你想从这些仓库中获取一些代码,并想知道如何获得全部代码,因为代码来自不同的地方? – mkasberg

+1

人们,我并不是想说“GitHub工作流程”有什么问题,我只是想知道如何将其扩展到我的特定情况。那些反对票实际上是不必要的敌对。请不要这么卑鄙。 – xpt

+1

您的问题与github工作流程无关。它归结为一个相对简单的问题,关于如何从github上的不同分支获取代码。我认为你会被低估,因为你的问题很长,很混乱,而且没有一个非常准确的标题。您可以考虑根据我的评论来编辑您的原始问题。 – mkasberg

回答

0

有很多方法可以从github上的不同叉子获取代码。以下是我该怎么做:

  1. 克隆原始存储库。 git clone https://github.com/mxk/go-imap.git。原因在于您希望将主分支基于该存储库的主分支,因此您将继续通过pull请求或其他方式对其进行改进。
  2. git remote add jasonparekh https://github.com/jasonparekh/go-imap.git加上你想要的任何分叉。重复您想要的代码的其他存储库。
  3. 您的本地存储库具有与mxk/master最新的主分支。确保您获取所有遥控器:git fetch --all。此时,您可以从其他存储库开始挑选您想要的东西:git cherry-pick abc123。或者,您可以合并来自远程存储库的整个分支:git merge jasonparekh/v1。这可能有点棘手,并且可能需要根据代码的哪些部分发生更改来解决合并冲突。

当然,如果你想在一个不是主人的本地分支上工作,那很好,以上所有方面仍然适用。不管你喜欢,你都可以管理你的分支。

相关问题