我需要运行git fetch来查看所有远程分支吗?或者换句话说:git分支-r是执行远程调用,还是只显示已知的远程分支?
bxpogfeg1#
是的,但请检查用于您的遥控器的refspec:
git config --get remote.origin.fetch
您应该看到:
+refs/heads/*:refs/remotes/origin/*
这将获取所有远程分支。像+refs/heads/dev:refs/remotes/origin/dev这样的refspec只会获取和更新'dev'远程跟踪分支。
+refs/heads/dev:refs/remotes/origin/dev
jhdbpxl92#
git branch不执行任何网络请求,只显示本地远程跟踪分支的当前已知状态。但是也可以使用git ls-remote --heads查看远程存储库的分支,它执行网络请求而不更新本地远程跟踪分支。
git branch
git ls-remote --heads
sulc1iza3#
git branch -r不执行远程调用,它只列出您在本地拥有的远程跟踪分支。(参见文件夹´.git/refs/remotes´)请注意,git branch -r也会列出很多远程分支,这些分支已经存在很长时间了,除非您将--prune参数添加到pull和fetch命令中。(或者你可以change the settings在获取时总是修剪。
git branch -r
--prune
pull
fetch
3条答案
按热度按时间bxpogfeg1#
是的,但请检查用于您的遥控器的refspec:
您应该看到:
这将获取所有远程分支。
像
+refs/heads/dev:refs/remotes/origin/dev
这样的refspec只会获取和更新'dev'远程跟踪分支。jhdbpxl92#
git branch
不执行任何网络请求,只显示本地远程跟踪分支的当前已知状态。但是也可以使用
git ls-remote --heads
查看远程存储库的分支,它执行网络请求而不更新本地远程跟踪分支。sulc1iza3#
git branch -r
不执行远程调用,它只列出您在本地拥有的远程跟踪分支。(参见文件夹´.git/refs/remotes´)请注意,
git branch -r
也会列出很多远程分支,这些分支已经存在很长时间了,除非您将--prune
参数添加到pull
和fetch
命令中。(或者你可以change the settings在获取时总是修剪。