将HG项目从Bitbucket镜像到Github

问题描述 投票:53回答:7

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

git mercurial workflow github bitbucket
7个回答
40
投票

您可以使用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]部分中,然后按名称推送到该路径。

“


13
投票

如果您将Mercurial用于项目,则可以快速轻松地为项目创建git镜像,以便git用户可以做出贡献。我创建了一个有关使用.hg/hgrc在GitHub上管理Mercurial镜像的教程。

它介绍了如何开始使用GitHub帐户,如何将项目从Mercurial推送到GitHub,以及如何接受来自GitHub的贡献(拉取请求)。这是博客文章的链接:hg-git


11
投票

'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

6
投票

截至2013年7月,git fetch -p origin git push --mirror 是一个Web服务,用于通过BitBucket接收后挂钩自动执行此过程。但是,您将需要向GitHub存储库授予服务写入权限(添加bitsynchub


2
投票

我要从2019年2月开始报告。我刚遇到此问题,然后按照BitSyncHub使用@vonc's suggestion,并填写了一些缺少的步骤才能使其正常工作。在这里,我将提供更详细的指南:


1
投票

另一个可快速转换的解决方案:$ hg clone https://bitbucket.org/user/hg-source $ cd hg-source $ hg push git+ssh://[email protected]/user/git-mirror.git


0
投票

您可以使用https://github.com/frej/fast-export执行此操作(包括将GitHub存储库镜像到Bitbucket,或双向同步)。

© www.soinside.com 2019 - 2024. All rights reserved.