为什么我不能切换到另一个Github分支?

时间:2020-04-17 20:53:09

标签: git github branch

我正在使用Github。我的朋友在我们的存储库中创建了一个名为broken_textures的分支,但我不知道如何切换到该分支。我已经尝试过git pull origin/broken_textures及其许多变体,但是它一直告诉我该存储库不存在。我获得的最大成功是git checkout remotes/origin/broken_textures,它创建了一个指向分支的独立HEAD。我只想将分支复制到我的计算机上,以便可以对其进行处理,后来又希望将其合并到master中。我应该怎么做,我对分支系统不了解什么?

2 个答案:

答案 0 :(得分:1)

从远程分支签出本地分支会自动创建所谓的“跟踪分支”(有时也称为“上游分支”)。跟踪分支是与远程分支有直接关系的本地分支。如果您在跟踪分支上并输入git pull,则Git会自动知道要从哪个服务器获取并合并到分支。

克隆存储库时,它通常会自动创建一个跟踪master的{​​{1}}分支。但是,您可以根据需要设置其他跟踪分支-跟踪其他遥控器上的分支或不跟踪origin/master分支的分支。一个简单的例子就是您刚才看到的运行master的示例。这是一个足够常见的操作,git提供了git checkout -b [branch] [remotename]/[branch]的缩写:

--track

使用$ git checkout --track origin/BRANCH_NAME创建一个本地分支。是否必须添加--track取决于 git版本(从Git 1.7.2.4 --track开始就足够了。

https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#_tracking_branches

答案 1 :(得分:0)

您正在尝试访问未存储在本地的分支。因此,您必须从远程获取详细信息,创建本地分支,并且应该将其设置为跟踪远程分支。最简单的方法是执行以下

git fetch origin
git checkout -b broken_textures origin/broken_textures