Git列出不存在的遥控器

sma*_*sma 6 git git-config git-remote git-branch

我最近在我的Git repo配置文件中对我的远程存储库进行了一些更改.我重命名了远程名称,将我的原点更改为另一个远程仓库并重命名我的旧源.

例如,我之前有这个:

[remote "origin"]
   url =  blah blah

[remote "future"]
   url = blah blah
Run Code Online (Sandbox Code Playgroud)

我进去改变它们看起来像这样:

# formerly the origin
[remote "old-origin"]

# formerly the future repo
[remote "origin']
Run Code Online (Sandbox Code Playgroud)

但现在,当我打字时git branch -a,我看到旧的'未来'遥控器上列出的分支:

remotes/origin/HEAD
remotes/origin/branch1
remotes/origin/branch2
remotes/future/branch1
remotes/future/branch2
remotes/old-origin/master
remotes/old-origin/branch3
Run Code Online (Sandbox Code Playgroud)

我运行了修剪以及获取等等,但该列表不会更新.我在配置文件中搜索了"future",但没有任何结果.是否有任何命令可以运行以刷新此列表并停止查看该不存在的遥控器?

tor*_*rek 9

您曾经拥有一个名为的遥控器future,而您现在还没有.

因此,无法帮助,因为没有远程命名.(通常,或者,如上面的评论,可以让你摆脱这些.)git remote whatever futurefuturegit remote update -pgit remote prune

最简单的选择似乎是手动删除它们:

git update-ref -d refs/remotes/future/branch1
git update-ref -d refs/remotes/future/branch2
Run Code Online (Sandbox Code Playgroud)

(或rm -r .git/refs/remotes/future/和/或编辑.git/packed-refs,取决于这些参考是否已被打包).

[顺便说一下,我也会运行git config -e(或者vi .git/config我通常会这样做:-))并确保没有其他剩余的future远程引用.]