为什么不能 "Git pull" 从远程仓库中提取所有分支

Why can't "Git pull" pull all the branches from remote repo

我有一个关于 "git pull" 的问题。假设我有两个远程分支 "master" 和 "new_branch",当我使用 "git pull" 然后使用 "git branch" 时,只显示 "master"。为什么我看不到 "new branch"?我必须使用 "checkout new_branch" 才能将其显示在本地分支列表中。 "checkout" 是如何工作的?是否同时更改为本地分支和远程分支?

Git 不会在您不告诉它的情况下为您任意创建本地分支。但是,它确实跟踪它知道的远程分支。

$ git branch -a

将显示您所有遥控器上的所有可用分支

尝试

$ git fetch --all

它将从远程获取所有可用的分支。你会得到一个像

这样的列表

From
* [new branch] a_new_branch -> origin/a_new_branch
* [new branch] b_new_branch -> origin/a_new_branch
3ea1234..1dz3 a_exist_branch_at_local -> origin/a_exist_branch_at_local
3ea1234..1dz4 b_exist_branch_at_local -> origin/b_exist_branch_at_local

然后只需检查您想要的新的:

$ git checkout a_new_branch

旧的(本地有的)可以

$ git checkout a_exist_branch_at_local
$ git merge origin/a_exist_branch_at_local