代码之家  ›  专栏  ›  技术社区  ›  Nathan Ridley

在Windows(7)上将Mercurial(hg)存储库转换为Git

  •  23
  • Nathan Ridley  · 技术社区  · 14 年前

    我现在真的很沮丧。我有一个已有的hg存储库,它有几个月的编码历史,我想把它放到一个私有的Github存储库中,这样我就可以从那里开始工作了。不幸的是,我用的是Windows,似乎找不到 任何 转换存储库的方法,我实际上可以得到正常工作。实际上,我在网上找到的每一点帮助和建议似乎都认为我是在逃避某种“尼克斯壳”,而我不是。

    我目前已经安装了:TortoiseHG、python3.1和gitforwindows。

    我试过的:

    1. http://github.com/blog/439-hg-git-mercurial-plugin

    2. hg到git(快速导出)-所有教程都希望我运行一个.sh文件。另一个stackoverflow线程似乎暗示Powershell可以运行.sh文件,但我不能让它一辈子都运行它们。例子: http://hivelogic.com/articles/converting-from-mercurial-to-git

    3. Mercurial到git转换器- http://permalink.gmane.org/gmane.comp.version-control.git/36601

    四个小时的谷歌搜索和涉水通过无用的教程和人们比我更幸运的歌颂每一个本应有用的博客文章,但我没有得到任何地方与这个。有人能给我一些帮助或建议吗?

    6 回复  |  直到 14 年前
        1
  •  19
  •   Kev    4 年前
    1. 安装 Cygwin
    2. 安装 git-hg
    3. git-hg clone ...url...

    或者告诉我你的hg repo的url是什么,我可以为你转换它。

        2
  •  7
  •   Helge Klein    9 年前

    关于如何在Windows上将Mercurial存储库转换为Git,有很多相互矛盾的信息。它非常简单,只需要安装TortoiseHg和Git。

    通过在Mercurial配置文件中添加以下内容来启用hg git( %用户配置文件%\mercurial.ini ):

    [extensions]
    hggit = 
    hgext.bookmarks =
    
    [git]
    intree = True
    

    导航到存储库目录(其中包含 汞柱 并执行以下命令:

    hg bookmark -r default master
    hg gexport --debug
    git config --bool core.bare false
    git reset HEAD -- .
    

    您可以在我的文档中找到这些步骤的详细描述 blog article 关于这个问题。

        3
  •  2
  •   Amber    14 年前

    你考虑过安装吗 msysgit ? 它提供的gitbashshell应该能够运行.sh文件。

        4
  •  2
  •   PSOnuke    11 年前

    我读到的关于这些用于Git的Hg转换器的所有内容都指出了一个明显的错误:使用python3!

    重写脚本以与您的版本一起使用,或者安装python2.6。

    确保将其添加到路径设置中。安装msysGit时也是如此。确保在安装时选择第二个选项,将Git添加到路径中。

    您还需要Mercurial For Python,可从TortoiseHG的thg winbuild项目获得:

    https://bitbucket.org/tortoisehg/thg-winbuild/downloads

    对于64位Windows,文件名为“mercurial-2.2.2.win-amd64-py2.6.exe”

    尽管您声明不希望再安装一个VCS软件,但使用任何一个Hg转换器都需要安装Mercurial。

    一定要仔细阅读教程和自述文件,无论你决定使用哪个转换器。似乎你的很多悲伤和烦恼都是因为你只是浏览了一下文档之后就不耐烦地跳进了深渊。

        5
  •  0
  •   PhiLho    14 年前


    所以如果其他都失败了,也许你可以用 bzr-hg

        6
  •  0
  •   Ryan Lundy    6 年前

    1. 单击 + 在右上角。
    2. Import repository .
    3. 提供Mercurial存储库的URL、帐户下的名称,以及它是公共的还是私有的。
    4. Begin import 等等。

    在那之后你甚至不需要呆在页面上。稍后,GitHub将通过电子邮件通知您导入已完成。