是否有一个高效的工作流来镜像主要使用Hg托管在bitbucket上的项目到github?
您可以使用以下工具hg-git
:
在你有推送权限的地方设置一个Git存储库,
然后
hg push [path]
从您的项目中运行.例如:
$ 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://git@github.com/schacon/hg-git.git $ hg push
这会将我们所有的Mercurial数据转换为Git对象并将它们推送到Git服务器.
您也可以将该路径放在[paths]
部分中.hg/hgrc
,然后按名称推送到该部分.
如果您将Mercurial用于项目,您可以快速轻松地制作项目的git镜像,以便git用户可以贡献.我创建了一个关于使用hg-git
GitHub管理Mercurial镜像的教程.
它介绍了如何开始使用GitHub帐户,如何将项目从Mercurial推送到GitHub,以及如何接受来自GitHub的贡献(拉取请求).这是博客文章的链接:http://hgtip.com/tips/advanced/2009-11-09-create-a-git-mirror/
将git-remote-hg添加到bin路径中.然后你可以像github上提到的那样镜像.
git clone --mirror hg::https://bitbucket_repo
然后,进入你的克隆回购
git remote set-url --push origin https://github.com/exampleuser/mirrored
最后,同步你的镜子
git fetch -p origin git push --mirror
截至2013年7月,BitSyncHub是一个Web服务,用于通过BitBucket post-receive钩子自动执行此过程.您需要将服务写入权限授予您的GitHub存储库(添加bitsynchub作为贡献者).