合并删除远程分支列表下的分支后仍然看到Git Branch

Anv*_*thy 2 git github

我正在开发一个自动化套件,我在其中创建了两个分支“p2pOnOff”和“release”分支。

后来我将它们合并到 master 并使用以下命令删除它们

git branch -d p2pOnOff
git push origin :p2pOnOff
Run Code Online (Sandbox Code Playgroud)

我看到这些分支在 github.com 中不再出现

我无法弄清楚为什么我仍然看到它们在我的计算机上列为远程分支

$ git branch --remote
  origin/HEAD -> origin/master
  origin/master
  origin/p2pOnOff
  origin/release
Run Code Online (Sandbox Code Playgroud)

如果我尝试修剪/删除它,我会收到以下错误:

$ git remote prune remotes/origin/p2pOnOff
fatal: 'remotes/origin/p2pOnOff' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?如何摆脱它们?我已经尝试git fetchgit remote update,但他们没有帮助!

我知道,删除整个文件夹并再次克隆它就可以完成这项工作。但我很想知道是否还有其他解决方案?

Pat*_* B. 5

你有没有尝试过:

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

对于你的情况,它对我有用。

git fetch手册页:

-p, --prune
After fetching, remove any remote-tracking branches which no longer exist on the remote.
Run Code Online (Sandbox Code Playgroud)

要删除远程上的引用,您还可以使用git push --delete它来修剪本地引用。