我克隆了一个git存储库,我想切换到以下列表中的特定分支(例如branch1, branch2, branch3
)
我应该说git fetch origin branch2
吗?
我如何知道我已在本地存储库中切换到此特定分支?
如何从'branch2'切换到'branch3'?
答案 0 :(得分:4)
最新版本的git有足够的DWIM(“我的意思!”)逻辑来理解你的行为:
git checkout branch1
......在那个场景中。如果没有名为branch1
的本地分支,并且只有一个以branch1
结尾的远程跟踪分支,那将会有效 - 在这种情况下,它等同于更长的时间:
git checkout --track -b branch1 origin/branch1
......这应该适用于所有情况。
我意识到我错过了回答你以后的一些问题。 git将origin
存储库中的分支状态存储在所谓的“远程跟踪分支”中 - 这些分支看起来像origin/master
,origin/branch1
,origin/branch2
等。如果您想从origin
更新所有这些,请使用:
git fetch origin
要查看所有远程跟踪分支,您可以使用:
git branch -r
我在上面引用的完整命令的含义:
git checkout --track -b branch1 origin/branch1
......是:
branch1
(checkout -b branch1
位)origin/branch1
开始(即基于来自branch1
的最新缓存状态origin
)origin/branch1
标记为git配置中branch1
的“上游”(--track
位,尽管如果起点是远程跟踪分支,则实际上暗示了这一点)< / LI>
答案 1 :(得分:2)
我假设您要切换到远程分支。如果您刚刚克隆了回购,那么应该有一个名为origin
的默认远程(您可以通过git remote -v
查看远程回购。
切换(或结帐)远程分支:git checkout -t origin/BRANCH_NAME
- 这表示您要将工作目录内容更改为与BRANCH_NAME
指向的远程分支关联的远程分支origin
。这将创建一个称为“跟踪分支”的东西,它将设置一个本地分支来镜像远程分支。
要查看您所在的分支类型:git branch
。要随时切换回母版,只需执行git checkout master