【问题标题】:Checked out a different branch. Why is HEAD still pointing to master branch检查了一个不同的分支。为什么 HEAD 仍然指向 master 分支
【发布时间】:2017-03-07 21:05:47
【问题描述】:

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

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  

我基本上想看看别人的分支,然后继续努力。 另外,提交并推送到他的分支。

【问题讨论】:

  • 我能提交到这个分支吗?即使这个分支是由另一个用户生成的?我看到一些帖子,比如你需要将-u 选项放到git push 上?

标签: git git-branch git-checkout


【解决方案1】:

你应该可以git checkout foo,它会自动知道跟踪正确的上游分支。

【讨论】:

    【解决方案2】:

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

    * foo
    

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

    你可能已经被这行弄糊涂了:

     remotes/origin/HEAD -> origin/master
    

    这意味着远程 HEAD 指向远程master。这对您本地的HEAD 没有影响。

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

    git checkout foo
    

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

    【讨论】:

    • "remotes/origin/HEAD -> origin/master" 是的,我被这条线弄糊涂了……谢谢你的评论!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-12
    • 2017-11-05
    • 2011-05-20
    • 2018-12-23
    • 2021-04-18
    相关资源
    最近更新 更多