gpt4 book ai didi

git - 我如何识别 git 中的陈旧/死分支?

转载 作者:太空狗 更新时间:2023-10-29 14:23:39 24 4
gpt4 key购买 nike

我维护着一个 git 存储库,它在中央存储库上有大约一百个分支。这些分支机构中有许多是出于某种长期服务的目的而创建的,现在已不活跃。一些分支可能出于某种原因必须保留(例如,它们是发布分支),但许多其他分支可能会被删除。

我想要一个脚本来生成每个分支的报告,按上次提交事件排序,并且如果分支 merge 到我们的主线“开发”分支中,还用 * 标记该分支。

因此示例输出可能是:

origin/develop          10 minutes ago
origin/feature/X 1 day ago
origin/feature/Y *** 35 days ago
origin/feature/Z 70 days ago

所以我可以给 Y 和 Z 的所有者发邮件,告诉他们删除他们的分支。我也可以跟Y说,他们的branch被 merge 到develop了。

我假设我可以通过在分支上找到最终提交的 sha1 并在其上执行“git branch --contains hashcode”来测试 merge 。

有没有已经可以满足我的目的的脚本?

最佳答案

我不确定如何识别一段时间内未提交的 repo 协议(protocol),但关于识别已经 merge 的分支,这里有一些命令...

(下面的所有代码都来自 Steve Harman's blog post,去那里了解更多信息。)

删除已经 merge 到master的本地分支:

(First, check out master.  Then...)
$ git branch --merged master | grep -v "\* master" | xargs -n 1 git branch -d

您可以省略 master 分支参数以删除已经 merge 到当前 HEAD 中的本地分支:

$ git branch --merged | grep -v "\*" | xargs -n 1 git branch -d

关于git - 我如何识别 git 中的陈旧/死分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22690969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com