远程git分支没有用`git branch -r`显示?

时间:2010-08-22 09:01:38

标签: git

我的本​​地计算机上有两个目录指向同一个远程git存储库。 当我在其中一个目录中发出命令git branch -r时,我得到一个更长的远程分支列表,然后在另一个目录中。怎么可能?
似乎某些远程分支“隐藏”在一个目录中,并且在另一个目录中可见。

3 个答案:

答案 0 :(得分:32)

我有同样的问题,无法在我的一个本地目录上获取远程分支。 git branch -r会显示更少的分支,也不会显示最顶层的更改,而在另一个目录中,所有内容都很清晰。

为了解决这个问题,我在两个目录上都git config -l,发现我错过了remote.origin.fetch设置。运行以下行修复了我的问题:

git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
git fetch 

From github.com:username/test2
   2bd5e5e..2619d39  master     -> origin/master
 * [new branch]      remotebr2  -> origin/remotebr2
 * [new branch]      remotebranch -> origin/remotebranch

答案 1 :(得分:9)

我认为你应该去取和修剪:

prune 
Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in "remotes/<name>". 

With --dry-run option, report what branches will be pruned, but do not actually prune them.

使用此命令行:

git fetch
git remote prune origin

答案 2 :(得分:2)

两个存储库都是最新的吗?尝试运行git fetch并查看是否可以修复它。