[英]git fetch not fetching remote branches - how to fetch all remotes
git fetch
获取远程分支的原因是什么?
我所要做的就是运行git fetch
然后我看到
C:\\ site \\ blog> git fetch * master
我希望看到类似的东西:
C:\\ site \\ blog> git fetch * master origin / branch1 origin / branch2
我在接受的答案中运行命令
git config --get remote.origin.fetch
该命令的输出为
+refs/heads/*:refs/remotes/origin/*
据我了解,这表明我不仅在跟踪主服务器,而且还在跟踪所有遥控器。
怎么了? 我该如何解决? 您无法git fetch
的原因是什么? 为什么会坏?
运行git fetch -a
也不执行任何操作。
运行git branch -avv
给我以下内容:
那么为什么git fetch
不起作用?
首先检查那些分支是否尚未获取:
git branch -avv
如果这些分支上没有新的提交,则git fetch
将不会获取任何内容。
还检查这些分支是否确实在远程回购侧(在git remote -v
由origin
引用的分支)
为了确保您可以看到所有远程分支,可以像在这里一样将它们声明为本地分支。
for i in `git branch -a | grep remote | grep -v HEAD | grep -v master`; do git branch --track ${i#remotes/origin/} $i; done
这是错误的术语。 它正在将远程分支跟踪为本地分支。
我不知道这是否可以算作一个完整的答案,但这就是我在日常工作中使用的:
git fetch --all
获取所有分支
它写在git文档中
为了查看哪些分支是本地分支,哪些分支具有“远程对应”,我使用
git branch -vv
如果分支描述(每个分支的一行都具有[origin / ....]之类的内容,它也具有一个远程分支,否则它只是一个本地分支)
如果我想查看所有配置的远程存储库(例如,在已经从某个位置克隆但又不记得从哪里克隆的新项目中),请检查是否同时安装了提取和推送存储库:
git remote -v
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.