Git 远程分支被删除,但它仍然出现在 'branch -a'

标签 git git-branch

假设我的存储库中有一个名为 coolbranch 的分支。

现在,我决定删除它(远程和本地):

git push origin :coolbranch
git branch -D coolbranch

太棒了! 现在分支真的被删除了。

但是当我运行的时候

git branch -a

我仍然得到:

remotes/origin/coolbranch

需要注意的是,当我克隆一个新的存储库时,一切都很好并且 git branch -a 没有显示分支。

我想知道 - 有没有办法在不克隆新实例的情况下从 branch -a 列表中删除分支?

最佳答案

git remote prune origin 将删除所有这些陈旧的分支。在大多数情况下,这可能是您想要的,但是如果您只想删除那个特定的远程跟踪分支,您应该这样做:

git branch -d -r origin/coolbranch

(-r 很容易忘记...)

-r 在这种情况下将“列出或删除(如果与 -d 一起使用)远程跟踪分支。”根据此处找到的 Git 文档:https://git-scm.com/docs/git-branch

关于Git 远程分支被删除,但它仍然出现在 'branch -a',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094293/

相关文章:

git - 是否可以使用 Visual Studio git 工具执行 Git Pull --rebase(并且可以默认设置)

带有附加补丁的 git bisect

git - 如何拥有一个具有完整历史记录的分支和一个具有压缩历史记录的分支?

git - 如何浅克隆特定分支上的 repo 协议(protocol)?

git - merge 时解决冲突后提交消息的问题

Git 分支删除

git - 使用 `git filter-branch` 时是否有更好的匹配方法?

java - 如何根据google java格式格式化代码

git - 由于 "port 443: Connection timed out",Docker 构建失败

git - 为什么调用 git branch --unset-upstream 来修复?