2

想象一下这样的情况:您在 bitbucket 中有一个工作存储库 - 您正在通过 TortioseHG 从 Windows 7 中的另一个 bitbucket 存储库中提取修订。

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

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

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

4

1 回答 1

1

理想的解决方案包括保留本地 Mercurial 存储库,并且仅将此本地存储库与现有的 bitbucket Mercurial 远程存储库一起使用。

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

替代文字

然后,您可以从该本地(M​​ercurial)存储库中照常使用 bitbucket 远程存储库。


OP补充说:

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

这是有道理的,如果两个 repos 都是单独开发的,那么您不能将 2 个(mercurial)repos 推/拉到另一个。这在“了解 Mercurial
” 页面底部得到了证实,并在博客文章中进行了详细说明:“ Mercurial 不能做什么:Subtree Repos ”。

更实际的解决方案是创建一个额外的存储库(“父级”),其中您的两个存储库声明为嵌套存储库
它将保持两个存储库的独立性,允许从您的第二个 mercurial 存储库推回 GitHub 存储库。

如果您不必推回 GitHub,但确实希望有一个用于合并常用文件的存储库,那么您可以查看“使用 Mercurial 从不相关的存储库中合并提示”,但这要复杂得多。

我宁愿:

  • 将两个存储库分开
  • 从第一个中删除您需要在第二个中合并的公共文件。
  • 在第二个文件中报告并合并这些常见文件。
于 2011-01-01T14:38:14.307 回答