如何删除未使用的git分支

14

如何从Tortoise-Git中删除未使用的Git分支?这些分支已经在本地和远程都被删除了,我希望在使用此下拉菜单时不再看到它们。

输入图像描述


我认为这个问题在这里已经被问过了:https://dev59.com/O2Ij5IYBdhLWcg3wv3m2,那个答案很好。 - joe_flash
4个回答

22

从TortoiseGit 2.4.0.2版本开始,有一种方法可以让它执行git remote prune origin命令。在同步窗口中,您可以选择“清理过期的远程分支”,这将从本地缓存中删除所有已删除的远程分支。

我不知道以前的版本中是否已经存在这个功能,因为我通常使用命令行 ^^


完美!这是TortoiseGit上的选项。不需要命令行。 - polras
谈到TortoiseGit,这是完美的答案! - pergy
1
我几乎完全使用TortoiseGit的git日志视图,因为我可以在这个视图中完成我需要做的一切,并查看整个仓库的状态。从获取对话框中,还有一个“修剪”复选框,如果选中,则似乎会执行完全相同的操作。这个答案让我发现了这一点。 - Barak Gall
1
顺便提一下,它在“拉取”下拉菜单中。 - Romulus Urakagi Ts'ai

8

您需要运行git remote prune origin命令。这将删除不再代表远程分支的远程跟踪分支。


不会从Tortoise-Git中删除。我需要为这个应用程序做什么特别的事情吗? - James Raitsev
当你运行 git branch -a 命令时,你是否可以看到这些分支(带有或者不带有“origin”)? - Adam Dymitruk
Adam - 无论是本地还是远程,我只看到我需要看到的分支。顶部出现的噪音不存在。 - James Raitsev
你可能在查看不同的仓库吗?.git/refs包含什么? - Adam Dymitruk

0

您可以执行“查看日志”,然后向下滚动到您看到分支标记的位置,右键单击并要求删除它。通常,您会看到两次foo和origin/foo,您可能需要同时删除。

我还没有找到在TortoiseGit GUI中执行git remote prune origin等效操作的方法。


0
也许你只是修剪/删除了分支,缓存不是最新的。你可以杀掉 tgitcache.exe 进程来重置缓存。

终止(然后重新启动)该进程不会重置缓存条目。 - James Raitsev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接