Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将git回购转换为hg回购_Git_Mercurial - Fatal编程技术网

如何将git回购转换为hg回购

如何将git回购转换为hg回购,git,mercurial,Git,Mercurial,我想将git存储库转换为mercurial存储库 我首先尝试做: hg clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git 但该命令被中止,原因是该链接似乎不是hg存储库 我用的不是git clone 但是我需要.hg而不是.git,因为在那之后我需要应用hg命令 那么,我如何继续转换这个.git?我读过关于hg convert的书,但我不明白它的使用方式。我将感谢任何帮助 问候, Belhad

我想将git存储库转换为mercurial存储库

我首先尝试做:

hg clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
但该命令被中止,原因是该链接似乎不是
hg
存储库

我用的不是git clone

但是我需要
.hg
而不是
.git
,因为在那之后我需要应用
hg
命令

那么,我如何继续转换这个
.git
?我读过关于hg convert的书,但我不明白它的使用方式。我将感谢任何帮助

问候,


Belhadj

注意:这个答案似乎只适用于本地存储库;在使用之前,您需要使用
git
克隆存储库,然后在克隆的
git
存储库上运行
hg convert
,以获得Mercurial存储库


两个版本控制系统都不能自己读取对方的存储库,因为它们使用不同的格式。有很多工具可以在它们之间进行转换;其中一个与Mercurial捆绑在一起,可能是最容易使用的。

启用转换扩展。您没有提到操作系统:

  • 如果使用OrtoiseHG,请转到
    文件、设置、扩展名
    并启用
    转换
    。跳到步骤4
  • 否则,请编辑Mercurial配置文件:
    (Windows)Mercurial.ini
    (Linux.hgrc)
  • 添加以下部分以启用扩展

    [extensions] convert = [延期] 皈依=
  • 运行
    hg convert


  • 另请注意,
    hggit
    扩展如果启用,可以从git存储库克隆到本地Mercurial存储库。您可以在Mercurial中工作,然后返回git存储库。您的命令示例应在启用hggit的情况下运行。

    如果您想处理Mercurial的Git回购,我建议您使用。这里有一个文档,但简而言之,您只需克隆该回购协议,然后通过

    [extensions]
    hggit = ~/.hg-ext/hg-git/hggit
    
    然后可以使用
    hg
    克隆git存储库

    hg clone git://github.com/schacon/some-repo.git
    

    当然,您可以使用https进行克隆,也可以在本地进行克隆

    谢谢你的回复。你能给我举一个使用这个转换扩展名的例子吗;显然这就是我信任文档的原因。我没能尝试任何东西,只是让它说
    看起来不像Git存储库
    。大家推荐第三方扩展;安装后,建议的命令行就可以完美地工作。