'git fetch -p' 后删除的分支

Deleted branches after 'git fetch -p'

我尝试从我的项目中删除几个分支:

leo:Project leo$ git push origin --delete effects
To https://github.com/gituser/Project.git
 - [deleted]         effects
leo:Project leo$ git push origin --delete viewport
To https://github.com/gituser/Project.git
 - [deleted]         viewport

但是在 fetch --prune 之后说

After fetching, remove any remote-tracking references that no longer exist on the remote.

我仍然在本地机器上删除了分支:

leo:Project leo$ git fetch -p
leo:Project leo$ git branch -a
  develop
  effects
* master
  viewport
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

有什么建议吗?

命令完全按照它说的去做,它删除了 "remote-tracking references"。这意味着连接到远程存储库上的分支的任何本地分支都会断开连接,仅此而已。这特别意味着本地分支之后仍然存在。

要删除分支,请使用 git branch -D <branchname>,也许首先查看分支的内容以确保您没有丢失任何提交。

git fetch --prune 仅删除工作树中远程删除的远程引用。远程引用位于 remotes/* 下(例如,remotes/origin/master)。

git fetch --prune 不会删除本地分支 - 即使本地分支跟踪远程引用,它也不会被删除(例如,通过设置 git branch --set-upstream-to=origin/master master)。这是有意的。想象一下,你有一个本地分支,上面有一些提交,然后有人删除了远程分支,你的本地更改就消失了。

然而,为了删除本地分支问题 git branch -D NAME,请让您在您可能想要保留的分支上没有提交。