是否有一个有效的工作流将主要使用Hg托管在bitbucket上的项目镜像到github?
您可以使用hg-git
之类的工具来进行:
- 在您可以推送访问的位置设置Git存储库,
- 然后在您的项目中运行
hg-git
。例如:
hg push [path]
这会将我们所有的Mercurial数据转换为Git对象,并将其推送到Git服务器。您也可以将该路径放在
$ cd hg-git # (a Mercurial repository) $ hg bookmark -r default master # make a bookmark of master for default, so a ref gets created $ hg push git+ssh://[email protected]/schacon/hg-git.git $ hg push
的[paths]
部分中,然后按名称推送到该路径。
如果您将Mercurial用于项目,则可以快速轻松地为项目创建git镜像,以便git用户可以做出贡献。我创建了一个有关使用.hg/hgrc
在GitHub上管理Mercurial镜像的教程。
它介绍了如何开始使用GitHub帐户,如何将项目从Mercurial推送到GitHub,以及如何接受来自GitHub的贡献(拉取请求)。这是博客文章的链接:hg-git
'git-remote-hg'是Git项目的半官方Mercurial桥,一旦安装,它就允许您从Mercurial仓库中克隆,获取和推送,就像它们是Git一样:]
将http://hgtip.com/tips/advanced/2009-11-09-create-a-git-mirror/添加到bin路径。然后,您可以镜像为git-remote-hg。
mentioned on github然后,进入您的克隆存储库
git clone --mirror hg::https://bitbucket_repo
最后,同步您的镜像
git remote set-url --push origin https://github.com/exampleuser/mirrored
截至2013年7月,git fetch -p origin
git push --mirror
是一个Web服务,用于通过BitBucket接收后挂钩自动执行此过程。但是,您将需要向GitHub存储库授予服务写入权限(添加bitsynchub
我要从2019年2月开始报告。我刚遇到此问题,然后按照BitSyncHub使用@vonc's suggestion,并填写了一些缺少的步骤才能使其正常工作。在这里,我将提供更详细的指南:
另一个可快速转换的解决方案:$ hg clone https://bitbucket.org/user/hg-source
$ cd hg-source
$ hg push git+ssh://[email protected]/user/git-mirror.git
您可以使用https://github.com/frej/fast-export执行此操作(包括将GitHub存储库镜像到Bitbucket,或双向同步)。