为什么不是git branch和git branch的输出-a相同?

时间:2011-08-17 05:02:18

标签: git

[root@ test]$ git branch -a
* master
  origin
  remotes/origin/master
[root@ test]$ git branch
* master
  origin

IMO origin是远程的,master是本地的,那里的remotes/origin/master是什么?

2 个答案:

答案 0 :(得分:4)

git branch仅显示本地分支,git branch -a显示所有分支,包括remote-tracking branches

您有名为masterorigin的本地分支。

remotes/origin/master是名为master的远程存储库中origin分支的远程跟踪分支。

您的本地master 可能跟踪remotes/origin/master。从那个输出中,你无法分辨出origin是什么,但它可能是错误命令的产物,或者只是一个选择不当的分支名称。 (您可以git branch -va获取更多有用的信息。)

答案 1 :(得分:0)

origin可能是remotes/origin/master的跟踪分支。但只有remotes/origin/master是遥控器。

您可以尝试git checkout remotes/origin/master,它是一个不同的分支。