繁体   English   中英

如何查找已从master删除的本地git分支

[英]How to find local git branches that have been deleted from master

在我们的工作流程中,已将生产就绪的开发分支推送到远程跟踪存储库,在此将它们合并到主分支中。 测试通过后,将删除该分支。

我一直很想删除那些开发分支的本地版本,所以现在我有很多本地分支,它们在原始位置没有对应的分支。

有没有一种快速的方法来查找我的存储库中的哪些分支已从远程存储库中删除?

在参考/标题下查找和删除本地分支

假设原始发布者意味着他想删除refs/heads下的本地分支,而不是refs/remotes/origin下的远程跟踪分支,然后查找已经合并到origin/master分支,只需使用以下命令:

# Fetch latest copy of origin/master
$ git fetch origin

# Find merged branches
$ git branch --merged origin/master

输出将显示已合并到origin/master分支,因此可以安全地使用git branch -d <branch>删除。 来自git branch官方Linux Kernel Git文档

“ --merged”用于查找可以安全删除的所有分支,因为这些分支完全由HEAD包含。

在refs / remots / origin下删除远程跟踪分支

另一方面,如果原始发布者表示他想删除自己的远程跟踪分支,则只需将-p--prune标志传递给git fetch

$ git fetch -p origin

来自git fetch官方Linux Kernel Git文档

提取后,删除远程上不再存在的所有远程跟踪分支。

git fetch -p

从手册中:

-p,--prune提取后,删除所有不再存在于远程上的远程跟踪分支。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM