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

nad*_*dav 18 git

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

小智 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
Run Code Online (Sandbox Code Playgroud)


And*_*ehm 10

我想你应该去取和修剪:

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.
Run Code Online (Sandbox Code Playgroud)

使用此命令行:

git fetch
git remote prune origin
Run Code Online (Sandbox Code Playgroud)

  • 这两个命令可以缩短为`git fetch -p`. (4认同)

mka*_*sek 2

两个存储库都是最新的吗?尝试运行一下git fetch,看看是否能解决问题。