2017-06-20 181 views
0

如何从GIT repo中删除我的所有本地分支机构。有什么指令吗? 。我不希望它通过命令git branch -D/-d branch-name一个接一个。如何从GIT repo中删除我的本地分支机构

+2

你是指你机器上的本地分支机构或远程追踪分支机构? –

+0

可能的重复[如何在本地和远程删除Git分支?](https://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-both-locally-and - 远程) – Doryx

+0

我的问题与此不同。谢谢您的帮助。 –

回答

2

要删除(或 “修剪”)地方分支机构不在回购

git remote prune origin 

修剪

删除下<名称的所有陈旧跟踪分支机构>。这些陈旧的分支已从名称为< name>的远程存储库中删除,但仍在本地“远程/ <名称>”中可用。

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

+0

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

3

上是原产

删除当分支可以在origin删除分支删除的信息,你的本地库不会采取的通知书。

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

您可以在本地清理的信息是这样的:

git remote prune origin 

你删除分支的本地副本不受此删除。

同样的效果是通过使用

git fetch --prune 

你也可以设置实现作为默认值。

0

这听起来像是你要求一种方法来删除自己的分支train如果有一个origin/train在一个点上,并且现在不再有origin/train。 (a)有些危险,(b)很难做到(因为没有内建的东西来记住“有一个origin/train”),但是如果你重新定义了这个问题,它就不那么困难了。它仍然是危险的。这意味着你要告诉你的软件自动销毁信息不管是否丢失了你不想销毁的信息。例如,您可能在最后一天或两天内投入了大量工作到train,然后有人删除上游origin/train,但没有意识到您正在处理它。现在你告诉你的Git删除你的train,而不会给你一个机会还原origin/train,你失去了你刚做的工作。

(你可以得到你的工作回来,通过HEAD引用日志,但它不是一个很好的计划,这就是为什么我称之为“有点危险”。)

要查看的方式来删除已失去分支机构它们的上游(例如,,在运行git remote prune origingit fetch --prune origin后),见Remove local branches no longer on remote