【发布时间】:2012-07-22 08:35:04
【问题描述】:
我已经克隆了一个存储库,之后其他人创建了一个新分支,我想开始处理它。我阅读了手册,似乎很容易。奇怪的是它不起作用,我发现的所有帖子都表明我在做正确的事情。所以我会接受抨击,因为这必须有什么明显的错误:
正确的动作似乎是
git fetch
git branch -a
* master
remotes/origin/HEAD --> origin/master
remotes/origin/master
git checkout -b dev-gml origin/dev-gml
此时出现问题,不知为何git fetch之后看不到dev-gml远程分支。为什么不?如果我新克隆存储库,它就在那里,所以远程分支肯定存在:
$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev-gml
remotes/origin/master
我已经尝试了所有可能的排列方式中的git update、git pull、git fetch --all、git pretty-please...
【问题讨论】:
-
git config --get remote.origin.fetch产生什么?如果不是+refs/heads/*:refs/remotes/origin/*,应该是。 -
是的,这正是它所产生的
-
完全相同的问题,但上面的评论解决了它!我有
+refs/heads/master:refs/remotes/origin/master和master而不是* -
对我来说同样的问题,但此页面上的建议都没有解决它。很奇怪。
-
@thoni56:是的,这可能是由于浅克隆造成的。
标签: git git-branch git-fetch