本文介绍了从Git中删除旧的远程分支的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在Git中使用bash autocompletion时,它不断向我展示我不再拥有的旧遥控器的分支。当我做一个下的目录,则会删除远程跟踪分支。 code>,分支机构将保持在后面。然后您需要手动删除它们:

  git branch -rd< remote> /< branchname> 

您需要选项 -r 来删除远程分支。


When I use bash autocompletion in Git, it keeps showing me branches of old remotes that I don't have anymore. When I do a git branch -la it shows those old remotes and branches while a git branch -l won't. A ls .git/refs/remotes/ also shows them. However, they are not present in my .git/config and neither are they shown when I run git remote show.

So how do I get rid of them because my autocomplete list is too long right now.

I have already tried:

git reflog expire --expire=now --all
git gc --prune=now
rm .git/refs/remotes/theoldremote
git remote prune theoldremote

I'm also aware of the fact that I can just re-clone the repo but that's just cheating ;-)

解决方案

Git does not delete the (local) remote-tracking branches automatically if the branch was deleted in the remote repository. Additionally, before V2.0.1 remote-tracking branches were in some cases not deleted when you removed the remote from your git config (see VonC's answer).

To delete stale remote-tracking branches (branches that were deleted in the remote repository) for one of your remote repositories, run

git remote prune <remote>

To cite the man page or git remote:

However, from your question it seems you manually removed .git/refs/remotes/theoldremote, so Git no longer knows about the remote repository that the remote-tracking branches belonged to. That's not how you're supposed to do it.

The normal way to remove a remote repository is to run

git remote rm <remote>

This will remove the remote from your .git/config, and will delete the remote-tracking branches.

If you just delete the directory under .git/refs/remotes/, the branches will remain behind. Then you will need to remove them manually:

git branch -rd <remote>/<branchname>

You need option -r to delete a remote branch.

这篇关于从Git中删除旧的远程分支的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 00:51