我有一个在Bitbucket上托管的HG项目,我想把它移到Github。
我已经跟随guideline在我的TortoiseHG上安装了hg-git扩展名。
我在Github上创建了一个存储库,但还没有初始化它(显示该指令页面),所以我无法克隆那个git存储库。
接下来我该怎么做?
编辑: 抱歉忘记添加,然后我将使用git。
更新:我借了一个mac并轻松地使用fast-git-import
转换它。如果有人尝试过以下解决方案并在Windows下工作,那就投票吧,我会把它作为答案。
答案 0 :(得分:3)
刚发现我的问题与Converting a Mercurial (hg) repository to Git on Windows (7)重复。
效果很好。因为它全部在Cygwin下,所以不需要使用选美。
除了回答这个问题。我只需要使用ssh-keygen -t rsa
在Cygwin下生成一个键。然后,我将.ssh/id_rsa.pub
中的公钥内容复制到Github存储库设置。
我通过git remote add origin (repo address)
将git原点设置为Gihub地址。最后我可以git push origin master --force
到Github。
答案 1 :(得分:2)
您应该在工作站上本地完成hg-git process(如hg gexport
)。
然后,当你有一个git repo镜像你的初始Hg repo时,你可以添加一个GitHub原点,并推送到它:
git remote add origin https://github.com/user/yourProject.git
git push origin master
git push --all
然而,Lazy Badger评论,并且正确地说,OP可能只想在此过程中使用Mercurial,而根本不安装Git。
在这种情况下,页面“hg-git on GitHub”包含:
如果您从现有的Hg存储库开始,则必须在您具有推送访问权限的位置设置Git存储库,将其添加为
.hg/hgrc
中的默认路径或默认推送路径,然后运行{{ 1}}来自你的项目 例如:
hg push
这会将所有Hg数据转换为Git对象并将它们推送到Git服务器。
答案 2 :(得分:1)
在假设中,基础VCS仍然是Mercurial和工具 - TortoiseHG
git+ssh://git@github.com/user/repo.git
网址适用于hg-git <强>扩展中心强>
mercurial.ini,git和github的相关部分相关
[ui]
...
ssh = "...\TortoisePlink.exe"
...
[auth]
github.com.prefix = github.com
github.com.username = lazybadger
可以对最后一节说什么,只记得“何时”和“为什么”