4

我必须将一个分支的 mercurial 存储库转换为一个 git 存储库并在一段时间内继续将更改从 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 认为只有一个分支'master'。 如何让我的 mercurial 分支显示为同名的 git 分支? 我可以使用“master”而不是“default”,但我必须在 git 中拥有所有其他命名的分支。

4

1 回答 1

3

分支作为远程分支导入,这意味着它们与远程存储库相关,而远程存储库恰好是 hg 存储库。如果您键入git branch -a,您将能够看到所有分支。

您可以像这样创建这些远程分支的本地分支:

git branch <localname> <remotename>

例如:

git branch br1 hg/br1
于 2014-01-10T22:17:29.793 回答