我的本地计算机上有两个目录指向同一个远程git存储库。
当我在其中一个目录中发出命令git branch -r
时,我得到一个更长的远程分支列表,然后在另一个目录中。怎么可能?
似乎某些远程分支“隐藏”在一个目录中,并且在另一个目录中可见。
答案 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
并查看是否可以修复它。