切换到远程分支获取分离头

时间:2016-02-09 20:51:09

标签: git git-detached-head

这是我所有分支的列表:

$ git branch -a
* temp
  remotes/heroku/master
  remotes/origin/dev
  remotes/origin/master

当我键入git checkout remotes/origin/master切换到我的原始master分支时,Git切换到分离的HEAD状态。为什么呢?

1 个答案:

答案 0 :(得分:11)

这是正确的行为,因为您已签出远程分支。

如果您希望查看主人并对其进行操作,您现在应该这样做:

# checkout remote branch as local branch
# this will look up the branch name locally and if it does not find it it
#will checkout your remote branch with this name.
git checkout master

当您签出远程分支时,您只需将HEAD指向此分支的最新提交。如果您希望使用它,则必须在没有 remote/<branch> 的情况下将其作为本地分支进行检查。这将自动签出并使用给定名称创建本地分支。

如果您想详细了解HEAD阅读所有相关内容here

什么是分离的HEAD?

分离的HEAD意味着您的HEAD指向的提交不是提交链中的lates。

在此示例中,提交#4是最新的,而HEAD指向提交#2。

enter image description here