我必须将一个多枝的mercurial repo转换为一个git repo 并且继续将mercurial中的更改提取到git(仅限单向)一段时间。现有的hg-to-git答案似乎没有正确处理分支。例如,带有'default'和'br1'分支的小hg repo会产生以下结果:
$ hg branches
br1 3:a8914879f6bb
default 2:4e6221bce113
cd ..
git-hg clone file:/path/to/hgrepo gitrepo
...<snip>
From .git/hgremote
* [new branch] br1 -> hg/br1
* [new branch] master -> hg/master
From .git/hgremote
* branch master -> FETCH_HEAD
cd gitrepo
git branch --list
* master
Git认为只有一个分支'主人'。 如何让我的mercurial分支显示为同名的git branches?我可以使用'master'代替'default',但我必须在git中拥有所有其他命名分支。
答案 0 :(得分:1)
分支作为远程分支导入,这意味着它们相对于远程存储库(恰好是hg存储库)。如果您输入git branch -a
,您将能够看到所有分支。
您可以像这样创建这些远程分支的本地分支:
git branch <localname> <remotename>
例如:
git branch br1 hg/br1