如何在本地拉取远程分支?

Nic*_*ryc 5 git branch gitlab

我在 Gitlab 上创建了一个项目并将其克隆到我的计算机上。所以我本地只有一个分支(master)(git branch只显示master)。一位同事创建了一个新分支。所以现在 Gitlab 上有 2 个分支,但我的电脑上没有。

我该怎么做才能让我的同事在我的计算机上创建分支,以便同时git branch显示masternew-branch

谢谢你。

Dan*_*y M 12

尝试:

git fetch
Run Code Online (Sandbox Code Playgroud)

这将更新所有分支并将它们拉到本地。

或者:

git fetch remote_repo remote_branch:local_branch
Run Code Online (Sandbox Code Playgroud)

如果您只对一个分支感兴趣,那么:

git checkout local_branch
Run Code Online (Sandbox Code Playgroud)

  • 它的拼写是“git”而不是“gît”:) (2认同)

Rom*_*eri 5

首先,更新您的远程跟踪分支(远程分支的本地副本,您无法以与您自己的本地分支相同的方式与之交互)。它通常用

git fetch
Run Code Online (Sandbox Code Playgroud)

(不带任何参数, --all 是隐含的)

然后,您的本地存储库将知道自您上次提取(或拉取,因为拉取作为第一步执行提取)以来您的同事可能创建的每个新分支。

然后,您将能够为这些遥控器中的任何一个创建本地对应物

git checkout <branchName>
Run Code Online (Sandbox Code Playgroud)

在这里,请注意,这<branchName>意味着没有<remote>/前缀,否则 git 将尝试检查所谓的远程跟踪分支,它不能,设计。此时,它将分支引用解析为该远程跟踪分支指向的提交,直接检查此提交,从而导致分离的 HEAD 状态。(这没什么大不了的,但会让开始使用 git 的人感到不安)