Git fetch不会在中为每个ref显示远程分支
我有一个远程分支Git fetch不会在中为每个ref显示远程分支,git,Git,我有一个远程分支功能/test2。我想去拿。我运行: git fetch origin feature/test2 我得到: From <URL> * branch feature/test2 -> FETCH_HEAD 我没有看到功能/test2。只有运行getfetch,然后运行上面的命令,我才能看到feature/test2。这是为什么?当您获取一个分支时,git会在本地更新相应的ref,我们称之为远程跟踪分支。它镜像此远程引用的最后一个已知状
功能/test2
。我想去拿。我运行:
git fetch origin feature/test2
我得到:
From <URL>
* branch feature/test2 -> FETCH_HEAD
我没有看到
功能/test2
。只有运行getfetch
,然后运行上面的命令,我才能看到feature/test2
。这是为什么?当您获取一个分支时,git会在本地更新相应的ref,我们称之为远程跟踪分支。它镜像此远程引用的最后一个已知状态
您可以使用git branch-r
但是这些不是您的本地分支,您的对于每个ref
命令都需要这些分支
--(以下假设您使用的是git版本>1.8.3)--
要创建远程origin/feature/test2
的本地对应项,请将其签出
git checkout feature/test2
git会将该名称识别为远程跟踪分支的名称(因为您之前已经获取了该名称),并为推/拉操作设置链接
此时,它只会出现在每个ref命令的
输出中。(1)您正在运行哪个版本的Git?(2) git config--get remote.origin.fetch
的结果是什么?检查这两个的原因是:(1)如果您的git早于git 1.8.4,它将不会自动为这种获取创建远程跟踪名称。升级到现代Git将解决这个问题。(2) 如果将remote.origin.fetch
设置为单个分支克隆而不是默认值,则Git不会创建其他远程跟踪名称。(在本例中,不带参数运行git fetch
的事实向我表明问题出在案例1而不是案例2。)@torek嘿,你说得对。我已经习惯了这个非常有用的特性,以至于我忘了它并不总是这样。我将添加精度作为警告,谢谢。
git checkout feature/test2