删除本地分支后git branch -r仍显示该分支的原因及解决方法
问题分析与解决方法
原因说明
你用git branch -d add-importerror删除的是本地分支,而git branch -r列出的是本地存储的远程跟踪分支——这是Git在本地缓存的远程仓库分支镜像,和本地分支不是同一个对象,所以删除本地分支后,这些缓存的跟踪分支不会自动消失。
解决步骤
根据远程仓库中该分支的状态,分两种情况处理:
1. 远程仓库的add-importerror分支仍存在
如果只是不想本地显示这个远程跟踪分支,直接删除本地的跟踪记录:
git branch -d -r origin/add-importerror
2. 远程仓库的add-importerror分支已被删除
需要同步本地的远程分支缓存,清除已失效的跟踪分支:
git fetch origin --prune # 或简写命令 git fetch -p
执行后,git branch -r就不会再显示已在远程删除的分支了。
额外:彻底删除远程+本地分支
如果还没删除远程分支,想要彻底清除(远程+本地+本地跟踪记录),执行以下命令:
# 删除远程分支 git push origin --delete add-importerror # 同步本地缓存 git fetch -p # 删除本地分支(如果之前没删的话) git branch -d add-importerror
内容的提问来源于stack exchange,提问作者Emil
相关产品推荐
相关产品推荐

