检查了一个不同的分支。为什么 HEAD 仍然指向 master 分支

Checked out a different branch. Why is HEAD still pointing to master branch

我检查了别人的分支并跟踪它。

git checkout --track origin/foo

但是,即使我检查了不同的分支(不是 master 分支),为什么 HEAD 仍然指向 master

当我输入 git branch -a 时,我明白了。所以我不能做像 git reset HEAD^ --hard

这样的事情
  master  
* foo  
  remotes/origin/HEAD -> origin/master  
  remotes/origin/foo  

我基本上想看看别人的分支,然后在上面工作。 另外,提交并推送到他的分支。

您应该能够 git checkout foo,它会自动知道跟踪正确的上游分支。

HEAD 没有指向 master。这个输出:

* foo

表示您的本地 HEAD 指向 foo。星号 (*) 代表 HEAD.

你可能被这行搞糊涂了:

 remotes/origin/HEAD -> origin/master

这意味着 远程 HEAD 指向远程 master。这对您的本地 HEAD.

没有影响

作为 @eddiem mentioned,将来要查看跟踪 origin/foo 的本地分支,只需执行以下操作:

git checkout foo

(假设您还没有名为 foo 的本地分支机构。)