繁体   English   中英

git分支搞砸了

[英]git branch is messed up

我有一个从远程仓库克隆的本地仓库。 当我做:

git branch -a

我明白了:

* add-real-testcases
  couchdb_1.1.0
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/couchdb_1.1.0

现在,我认为这是不正确的。 我期待着这样的事情:

  couchdb_1.1.0 -> origin/couchdb_1.1.0

由于我的couchdb_1.1.0分支正在跟踪远程分支(我只是推送到该分支,所以没有额外的信息)。 所以我去检查我的.git/config

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@myhost.com:my_repo.git
[branch "master"]
        remote = origin
        merge = refs/heads/master
[branch "couchdb_1.1.0"]
        remote = origin
        merge = refs/heads/couchdb_1.1.0

如我所料,跟踪信息在那里。 但是git branch -a没有显示它。

之所以遇到这种情况,可能是因为我一直在创建和删除本地和远程分支。 因此,我尝试通过手动设置上游来解决此报告问题(即使已在config设置了它,但无论如何...)

$ git branch couchdb_1.1.0 --set-upstream origin/couchdb_1.1.0
Branch couchdb_1.1.0 set up to track remote branch couchdb_1.1.0 from origin.

但是git branch -a仍然没有显示它。

我虽然git branch.git/config获取信息,但是以某种方式却不是。 还是我对git branch -a->语法感到困惑?

您误解了git branch -a的输出。 git branch不会向您显示有关本地分支机构正在跟踪您的远程分支的信息,而只是向您显示哪些分支是其他分支的“符号引用”。

在这种情况下,origin的HEAD是对master的象征性引用。 这只是告诉您origin上的默认分支(对于非裸存储库,已签出)是master

尝试使用git branch -vv查看本地分支的跟踪关系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM