如何切换到git中的新分支

时间:2011-09-12 07:15:05

标签: git

我克隆了一个git存储库,我想切换到以下列表中的特定分支(例如branch1, branch2, branch3

我应该说git fetch origin branch2吗?

我如何知道我已在本地存储库中切换到此特定分支?

如何从'branch2'切换到'branch3'?

2 个答案:

答案 0 :(得分:4)

最新版本的git有足够的DWIM(“我的意思!”)逻辑来理解你的行为:

git checkout branch1

......在那个场景中。如果没有名为branch1的本地分支,并且只有一个以branch1结尾的远程跟踪分支,那将会有效 - 在这种情况下,它等同于更长的时间:

git checkout --track -b branch1 origin/branch1

......这应该适用于所有情况。


我意识到我错过了回答你以后的一些问题。 git将origin存储库中的分支状态存储在所谓的“远程跟踪分支”中 - 这些分支看起来像origin/masterorigin/branch1origin/branch2等。如果您想从origin更新所有这些,请使用:

git fetch origin

要查看所有远程跟踪分支,您可以使用:

git branch -r

我在上面引用的完整命令的含义:

git checkout --track -b branch1 origin/branch1

......是:

  • 创建并切换到名为branch1checkout -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

即可