为什么我在本地看到的远程分支比 github 上的远程分支还要多?

kra*_*r65 4 git branch github

我在 github 上托管了一个 git 存储库。当我git branch在本地执行时,我只得到您在下面的输出中看到的三个分支:

$ git fetch
$ git branch
* develop
  kramer65/feature-branch
  master
Run Code Online (Sandbox Code Playgroud)

然后我登录 github,在那里我看到它只有 5 个分支:

在此输入图像描述

所以现在我git branch -a在本地做了一个,它显示了我的 3 个本地分支,加上大约 40 个远程分支:

在此输入图像描述

然后我尝试删除远程分支之一,但我不能:

$ git push origin :kramer65-feature-branch
error: unable to delete 'kramer65-feature-branch': remote ref does not exist
error: failed to push some refs to 'git@github.com:MyOrganisation/therepo.git'
Run Code Online (Sandbox Code Playgroud)

知道为什么我仍然看到这些带有 的存储库吗git branch -a

Dan*_*anh 12

一种可能的情况是有人创建一个用于开发的分支,您运行:

git fetch
Run Code Online (Sandbox Code Playgroud)

将获取所有这些分支。当该功能分支被合并时,它们被删除,并且git fetch没有删除它。你需要

git fetch -p
Run Code Online (Sandbox Code Playgroud)

或者

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