我知道GitHub Flow是一个很好的Git工作流,简化了Git workflow。但是,有一种情况是它没有涵盖 - 如何合并来自不同用户的两个不同的git repos。 GitHub Flow可以提供任何帮助吗,或者我必须在命令行上完全恢复某些东西?
即,GitHub Flow假设人们会相互合作。我的问题是,如果他们不这样做,在这种情况下我应该怎么做才能合并两个或更多的回购。我正在谈论的回购是:
https://github.com/jasonparekh/go-imap和
https://github.com/dinhviethoa/go-imap/
从https://github.com/jasonparekh/go-imap/network,我们可以看到它们在不同的分支上,甚至在不同的基础上。即,github go-imap项目有许多单独的分叉。这些存储库中没有一个已合并回原始的go-imap存储库。无论这种情况背后的原因是什么,我都试图将所有这些努力集中到一个存储库中,以便我的所有有用的补丁包含
在这种情况下如何合并两个或更多个回购?如果我需要合并上述network graph中的其他回购,该怎么办?
答案 0 :(得分:0)
有很多方法可以在github上从不同的fork中获取代码。我就是这样做的:
git clone https://github.com/mxk/go-imap.git
。原因是您希望将主分支基于该存储库的主分支,因此您将继续通过拉取请求或其他方式获得对其进行的改进。git remote add jasonparekh https://github.com/jasonparekh/go-imap.git
添加您想要的任何叉子。对需要代码的其他存储库重复此步骤。git fetch --all
。此时,您可以从其他存储库开始挑选您想要的东西:git cherry-pick abc123
。或者,您可以从远程存储库合并整个分支:git merge jasonparekh/v1
。这可能有点棘手,您可能必须根据代码的哪些部分更改来解决合并冲突。当然,如果你想在一个非主人的本地分支上工作,那很好,以上所有内容仍然适用。您可以随意管理您的分支机构。