我有一个远程存储库http://github.com/fernandezpablo85/Test
这个repo有一个master
分支,但它落后于另外两个分支,所以当我克隆它时,我得到了这个警告:
警告:远程HEAD指的是不存在的ref,无法结账。
此外,我没有获得本地master
分支(git branch
没有显示任何内容)。
我可以解决整个问题:
git checkout -b master origin/master
但我想知道为什么会这样? master应该是更多高级分支吗?或者我的回购还有其他问题吗?
答案 0 :(得分:11)
如果您只想克隆主分支,请运行以下命令:
git clone git@github.com:**username**/ **Repository URL** -b master
以下是一个例子:
git clone git@github.com:gfranko/jquery.selectBoxIt.js.git -b master
答案 1 :(得分:8)
1 /不,掌握不是最先进的分支。一个人只能发布到另一个分支,然后删除该分支......
2 /当发生这种情况时,你应该从github repo的管理面板中选择master作为默认分支,但这并不总是可行的。见this bug
对于遇到此问题的其他人:
tekkub告诉我如何通过freenode #github频道解决这个问题。
- 创建一个临时分支,
- 将其推送到您的仓库,
- 在该回购的管理面板中选择默认分支
- 然后删除分支并再次推送。
为我们工作。
(想法是临时拥有两个分支,以便能够通过GUI管理面板选择master作为默认值,然后删除额外的分支)
答案 2 :(得分:1)
我们的一个存储库遇到了类似的问题,但在我们的例子中,github管理面板显示“master”作为默认分支,但默认情况下,checkouts正在获得一个不同的分支。将默认值更改为其他分支之一,然后返回“master”修复了我们的问题。