首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果我的本地分支从GIT repo中被删除,我如何清理它们?

如果我的本地分支从GIT repo中被删除,我如何清理它们?
EN

Stack Overflow用户
提问于 2017-06-20 12:14:34
回答 3查看 504关注 0票数 0

如果我的本地分支从GIT repo中被删除,我如何删除它们。对此有什么命令吗?我不想通过命令git branch -D/-d branch-name逐个执行它。

EN

回答 3

Stack Overflow用户

发布于 2017-06-20 12:47:35

删除源上已删除分支的信息

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

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

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

代码语言:javascript
代码运行次数:0
运行
复制
git remote prune origin

此操作不会删除已删除分支的本地副本。

同样的效果可以通过使用

代码语言:javascript
代码运行次数:0
运行
复制
git fetch --prune

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

票数 4
EN

Stack Overflow用户

发布于 2017-06-20 12:33:35

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

代码语言:javascript
代码运行次数:0
运行
复制
git remote prune origin

修剪

删除下的所有陈旧跟踪分支。这些陈旧的分支已经从引用的远程存储库中删除,但仍然在"remotes/“中本地可用。

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

票数 2
EN

Stack Overflow用户

发布于 2017-06-20 22:50:20

这听起来像是您在请求一种方法来删除您自己的名为train的分支,前提是曾经有一个origin/train,而现在不再有origin/train

这(a)有点危险,(b)很难做到(因为没有内置的东西来记住“有一个origin/train"),但是如果你重新定义一下这个问题,它就不那么困难了。它仍然是危险的。这意味着你在告诉你的软件自动销毁信息,不管它是否丢失了你不想销毁的信息。例如,您可能在过去一两天内在train中投入了大量工作,然后有人删除了上游origin/train,而没有意识到您正在处理它。现在你告诉你的Git删除你的train而不给你恢复origin/train的机会,你就失去了你刚才所做的工作。

(你可以通过HEAD reflog恢复你的工作,但这不是一个很好的计划--这就是为什么我称之为“有点危险”的原因。)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44643712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档