从github到bitbucket

时间:2011-01-01 13:58:05

标签: github bitbucket

想象一下这样的情况: 你在bitbucket有一个工作回购 - 你通过TortioseHG从Windows 7中的另一个bitbucket repo中提取修订版。

现在第二个项目已经转移到Github系统,你不能再从它那里撤出了。

所以我的问题是这样的: 我怎么能以某种方式在bitbucket中创建新的repo,我将从github中提取更改并从这个repo中我可以轻松地将Tortiose HG拉入我的工作回购中?

我不想使用Github等,所以请不要向我建议等等,只是帮我解决我的问题。谢谢。

1 个答案:

答案 0 :(得分:1)

理想的解决方案是保留当地的Mercurial仓库,并且只使用这个本地仓库来运行现有的bitbucket Mercurial远程仓库。

使用插件like Hg-Git,您至少可以从Mercurial推送到Git服务器存储库并从中取出,允许您从GitHub存储库提取到本地Mercurial存储库。

alt text

从本地(Mercurial)回购中,您可以像往常一样使用bitbucket远程仓库。


OP补充道:

  

它对我不起作用所以我试图将git repo转移到hg repo并从这个repo pull转到我的工作仓库进行更改 - 但它说:abort:存储库不相关 - 但我从中融合了很多。这里有什么帮助?

如果两个回购单独单独开发,你就不能将2个(mercurial)回购推入另一个。 这已在“Understanding Mercurial”页面底部确认,并在博文中详细说明:“What Mercurial Can't Do: Subtree Repos”。

更实际的解决方案是将一个额外的存储库(“父级”存储库)与其中的两个存储库声明为 nested repository 。<登记/> 它会保持两个repos独立,允许从第二个mercurial仓库推回到GitHub仓库。

如果你不必回到GitHub,但是真的想拥有一个合并公共文件的仓库,那么你可以查看“Merge tip from an unrelated repository with Mercurial”,但这要复杂得多。 / p>

我宁愿:

  • 保持两个回购单独
  • 从第一个删除您需要在第二个文件中合并的公共文件。
  • 报告并合并第二个中的常用文件。