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