[英]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包含。
另一方面,如果原始发布者表示他想删除自己的远程跟踪分支,则只需将-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.