什么是“致命的:你在一个尚未出生的分支上”意味着在这种背景下

时间:2011-08-16 18:38:45

标签: git git-checkout

我正在将一个svn repo迁移到git。我创建了一个干净的临时目录,使用git svn init来获取内容,然后添加遥控器并推送它。现在在另一个实际的源代码(我在从svn提交东西之前从空的repo克隆)我做了一个提取。然后我做了一个结账并得到了上述信息。过了一会儿,我发现我可以通过拉动得到源并做到了。我的问题是该错误消息在该上下文中的含义是什么?我是如何得到该特定错误消息的? 免责声明:我是一个git新手

2 个答案:

答案 0 :(得分:11)

我相信这是因为你的fetch只提取远程引用和提交,并没有给你一个本地分支来结账。由于你是一个空的回购,你从来没有在分支机构,所以你的git checkout没有分支去。

您可以通过使用git checkout origin/master明确命名来直接签出远程主服务器,但这将使您处于分离的头状态。

完成拉动后,它会合并,拉动创建了一个本地来跟踪远程主控。

答案 1 :(得分: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将正常运行。