为什么要git pull拉所有东西,包括新创建的远程分支却不拉git pull origin master?
我正在使用git version 2.9.3.windows.2。
当您不指定任何分支时,将使用默认设置。默认意味着获取和更新远程存储库中现有的所有分支。
有关详细信息,请参见文档:
Run Code Online (Sandbox Code Playgroud)git pull [options] [<repository> [<refspec>…?]]
<refspec>指定要获取的参考和要更新的本地参考。当<refspec>命令行上没有s时,remote.<repository>.fetch取而代之的是从变量中读取引用(请参阅git-fetch [1])。资料来源:https : //git-scm.com/docs/git-pull
参考文档说明:
您经常通过定期重复地从同一个远程存储库中进行交互来与之交互。为了跟踪此类远程存储库的进度,git fetch允许您配置
remote.<repository>.fetch配置变量。通常,这样的变量可能看起来像这样:
Run Code Online (Sandbox Code Playgroud)[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/*上面的示例将获取中存在的所有分支
origin(即,与值左侧匹配的所有refrefs/heads/*),并更新refs/remotes/origin/*层次结构中的相应远程跟踪分支。
此行为是默认行为,因为它使您可以立即同步整个存储库。如果您不想一次更新所有本地分支,请使用git fetch来同步存储库并git merge origin/<branch>更新每个本地分支。
在外行语言中,git pull从远程获取所有内容(所有新分支并更新旧分支),默认情况下,它将为origin. 如果您有任何其他类似的遥控器,upstream您必须指定它git pull upstream,它将更新上游的所有内容。