如果从GIT仓库中删除我的本地分支机构,如何清理它们

时间:2017-06-20 04:14:34

标签: git github

如果从GIT仓库中删除所有本地分支,我该如何删除它们。那有什么命令吗? 。我不想通过命令git branch -D / -d branch-name逐一进行。

3 个答案:

答案 0 :(得分:3)

删除有关在原点上删除的分支的信息

origin上的分支被删除时,您的本地存储库就不会注意到这一点。

你仍然拥有这些分支的本地缓存版本(这实际上很好),但是git branch -a仍会将它们列为远程分支。

您可以像这样在本地清理这些信息:

git remote prune origin

此删除的分支的本地副本不会被删除。

使用

可以达到同样的效果
git fetch --prune

您也可以将其设置为默认值。

答案 1 :(得分:2)

删除(或“修剪”)不在repo中的本地分支

git remote prune origin
  

<强>剪枝

     

删除&lt; name&gt;下的所有陈旧跟踪分支。这些陈旧的分支已从&lt; name&gt;引用的远程存储库中删除,但仍在“remotes /&lt; name&gt;”中本地可用。

     

使用--dry-run选项,报告将修剪哪些分支,但不实际修剪它们。

答案 2 :(得分:0)

如果一个点train并且现在不再有origin/train,这听起来像是要求删除自己的名为origin/train的分支。

这是(a)有点危险,(b)难以做到(因为没有任何内置可以记住&#34;有origin/train&#34;),但是如果你重新定义问题有点困难。它仍然很危险。这意味着您告诉您的软件自动销毁信息是否丢失了您不想销毁的信息。例如,您可能在最后一两天将大量工作放入train,然后有人删除了上游origin/train而没有意识到您正在处理它。现在你告诉你的Git删除你的train而没有给你机会恢复 origin/train,你就失去了刚刚完成的工作。

(你可以通过HEAD reflog来恢复你的工作,但这不是一个非常好的计划 - 这就是为什么我称之为&#34;有点危险&#34;。)< / p>

要查看删除丢失其上游的分支的方法(例如,在运行git remote prune origingit fetch --prune origin之后),请参阅Remove local branches no longer on remote