如何在Windows上将Bitbucket项目导入Github

时间:2012-02-20 12:56:41

标签: git mercurial github tortoisehg hg-git

我有一个在Bitbucket上托管的HG项目,我想把它移到Github。

我已经跟随guideline在我的TortoiseHG上安装了hg-git扩展名。

我在Github上创建了一个存储库,但还没有初始化它(显示该指令页面),所以我无法克隆那个git存储库。

接下来我该怎么做?

编辑: 抱歉忘记添加,然后我将使用git。

更新:我借了一个mac并轻松地使用fast-git-import转换它。如果有人尝试过以下解决方案并在Windows下工作,那就投票吧,我会把它作为答案。

3 个答案:

答案 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

  1. 你必须准备好Git-repo(空,可从当地推出)
  2. 如果您已添加并正常工作(即配置正确 - 可以使用Github推送)hg-git,您必须将Git-URL添加到(本地)repo hgrc([路径]部分)
  3. 将OpenSSH密钥添加到Github,验证THG中的基于密钥的授权(选美)
    • AFAIK,只有git+ssh://git@github.com/user/repo.git网址适用于hg-git
    • 的github
  4. 之后你将拥有两个远程链接回购,因为你可以从同步选项卡中推/拉
  5. <强>扩展中心

    mercurial.ini,git和github的相关部分相关

    [ui]
    ...
    ssh = "...\TortoisePlink.exe"
    ...
    [auth]
    github.com.prefix = github.com
    github.com.username = lazybadger
    

    可以对最后一节说什么,只记得“何时”和“为什么”