23

我正在将一个 svn 存储库迁移到 git。我创建了一个干净的临时目录,使用 git svn init 在其中获取内容,然后添加遥控器并推送它。现在在另一个实际的源目录(在从 svn 提交内容之前,我从空仓库中克隆了它)我做了一个提取。然后我进行了结帐并收到了上述消息。过了一会儿,我想我可以通过拉动获得源并做到了。我的问题是该错误消息在这种情况下意味着什么?我是如何得到那个特定的错误信息的?免责声明:我是一个 git 新手

4

2 回答 2

12

我相信这是因为您的 fetch 仅获取远程 refs 和提交,并没有为您提供本地master分支来结帐。由于你在一个空的仓库中,你从来没有在一个分支上,所以你git checkout没有分支可以去。

您可以通过显式命名远程主机来直接签出远程主机,git checkout origin/master但这会使您处于分离的头部状态。

一旦你完成了拉取,它获取合并,拉取创建了一个本地主节点来跟踪远程主节点。

于 2011-08-16T18:47:20.853 回答
1

我在尝试将 svn 迁移到 git 时遇到了同样的错误。这是我的修复。

确认你已经初始化了 git repo:

git init

确认您确实从 svn 进行了有效迁移:

git branch --remote

#You should see this output:
#git-svn

创建一个分离的头:

git checkout git-svn

将分离的头部转换为主分支:

git checkout -b master

此时您的 git repo 将正常运行。

于 2016-06-28T15:12:19.507 回答