从Mercurial迁移到Git

Dil*_*hod 4 git version-control mercurial version-control-migration

我知道这个问题在几次之前被问过并标记为"可能重复",但它们似乎都没有正确.我试过快速导出,它给出了错误.任何人都可以帮助如何从Mercurial迁移到Git?我需要历史.如果逐步列出它将是值得赞赏的.

更新:

我试过快速出口:

cd ~
git clone git://repo.or.cz/fast-export.git
git init git_repo
cd git_repo
~/fast-export/hg-fast-export.sh -r /path/to/old/mercurial_repo **[I get error in this line]**
git checkout HEAD
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

..... hg-fast-export.sh:第79行:找不到python:command

谢谢您的帮助!

Laz*_*ger 5

  1. 将hg-git添加到Mercurial
  2. 将hg-repo推送到git-target

循序渐进指南

克隆Hg-Git它的存储库扩展到一些本地PATH\TO\HG-GIT

B在(global mercurial.ini或特定于存储库的.hgrc)中启用扩展名

[extensions]
bookmarks = 
...
hggit = PATH\TO\HG-GIT
Run Code Online (Sandbox Code Playgroud)

bookmark很久以前添加了,当这个扩展不是TortoiseHG | Mercurial的一部分时,不确定今天的配置

C创建具有读写访问权限的新Git存储库(或记住现有的?!)

D从p添加Git-repo.C进入[paths]Mercurial存储库的.hgrc部分,您希望以任何名称在Git中导出.我的本地Mercurial存储库的示例,它在Github上有Git-mirror

[paths]
default = git+ssh://git@github.com/lazybadger/Fiver-l10n.git
Run Code Online (Sandbox Code Playgroud)

E之后,您可以像Mercurial一样使用Git-repository作为常用的远程存储库,并且作为第一个操作(对于创建的空Git存储库),您必须推送到新的远程

F检查Git-repository的存在情况,并在推送后将Mercurial镜像到其中的完整历史记录

G通过常规方式使用Git-repository

本指南中使用的来源

  • WP-theme的本地Mercurial存储库,具有非常简单的线性历史记录

Workbench中的本地仓库

镜子