Git 分支总是神奇地出现,即使我删除了它

Git branch always magically appears even though I delete it

我这样删除本地和远程分支:

git branch -D logout
git push origin :logout

但当我这样做时:

git-get-branches

这是我在 .zshrc:

中的别名
alias git-get-branches='git fetch; git branch -r | grep -v '\''\->'\'' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done'

我仍然得到:

Branch 'logout' set up to track remote branch 'logout' from 'origin'.

为什么注销分支总是重新出现,即使我在我的计算机和远程源上删除了它?

问题是您正在删除本地分支以及服务器上的远程分支,但您没有删除远程分支的本地副本(由 origin/logout 引用) .

您可以(并且通常应该)通过 pruning them 删除远程上不再存在的本地副本或分支。

您还可以使用配置在获取时始终进行修剪:

git config --global fetch.prune true