将HG项目从Bitbucket镜像到Github

San*_*nta 54 git workflow mercurial github bitbucket

是否有一个高效的工作流来镜像主要使用Hg托管在bitbucket上的项目到github?

Von*_*onC 41

您可以使用以下工具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
Run Code Online (Sandbox Code Playgroud)

这会将我们所有的Mercurial数据转换为Git对象并将它们推送到Git服务器.
您也可以将该路径放在[paths]部分中.hg/hgrc,然后按名称推送到该部分.

HG-混帐


Ste*_*osh 13

如果您将Mercurial用于项目,您可以快速轻松地制作项目的git镜像,以便git用户可以贡献.我创建了一个关于使用hg-gitGitHub管理Mercurial镜像的教程.

它介绍了如何开始使用GitHub帐户,如何将项目从Mercurial推送到GitHub,以及如何接受来自GitHub的贡献(拉取请求).这是博客文章的链接:http://hgtip.com/tips/advanced/2009-11-09-create-a-git-mirror/

  • 上述网站似乎不再可用。 (4认同)

jbt*_*ule 11

git-remote-hg添加到bin路径中.然后你可以像github上提到的那样镜像.

git clone --mirror  hg::https://bitbucket_repo
Run Code Online (Sandbox Code Playgroud)

然后,进入你的克隆回购

git remote set-url --push origin https://github.com/exampleuser/mirrored
Run Code Online (Sandbox Code Playgroud)

最后,同步你的镜子

git fetch -p origin
git push --mirror
Run Code Online (Sandbox Code Playgroud)


kyn*_*nan 6

截至2013年7月,BitSyncHub是一个Web服务,用于通过BitBucket post-receive钩子自动执行此过程.您需要将服务写入权限授予您的GitHub存储库(添加bitsynchub作为贡献者).