1
我维护一个git仓库,在中央仓库上有一百个左右的分支。许多这些分支是为了某个长期服务的目的而创建的,现在不活跃。有些分支机构可能因为某种原因而停留(例如,它们是发布分支机构),但其他许多分支机构可能会被删除。如何识别git中的陈旧/死亡分支?
我想要一个脚本,生成每个分支的报告,按上次提交活动排序,如果分支合并到我们的主线“develop”分支中,也用*标记该分支。
所以样本输出可能是:
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说他们的分支合并发展。
我假设我可以通过在分支上查找最终提交的sha1来测试合并,并对其执行“git分支 - 包含哈希码”。
有没有一个脚本可以满足我的需求?
要注意的是,只是因为你的回购协议的副本说,最后一次提交的一个分支是70天前,并不意味着有避风港”在其他人的回购克隆中做出了更多的承诺。这只意味着在那段时间里没有新的提交到你的repo副本中......我不确定这在DVCS场景中听起来像是个好主意,但是如果你确实删除了仍然有效的东西,他们的下一个推动只会把它放回去...... – twalberg
我的意图是通过电子邮件发送给业主,并提醒他们删除自己的分支,而不是为他们做,尽管如果该人离开公司,我可以看到我删除了一个分支,或它明显的分支已经死了。如果他们真的在他们的机器上有分支,那么他们当然可以再推一次。 – locka