gpt4 book ai didi

git - 如何在 git 中仅列出事件/最近更改的分支?

转载 作者:IT王子 更新时间:2023-10-29 01:08:53 31 4
gpt4 key购买 nike

我有时会使用包含许多分支的源代码存储库,其中大部分都是旧的,通常不再相关。

在这些情况下,git branch 中的完整分支列表不是很有帮助。有没有办法只列出“事件”分支?例如,只有在最近 n 天内收到提交的分支?理想情况下,该列表将包括每个分支的最后提交日期,并指示该分支是否已完全 merge 。

附言:我意识到这也可以通过删除“旧”分支来解决(如在 What to do with experimental non-merged git branches? 中讨论的那样),但这在给定项目中可能并不总是实用或被接受。

最佳答案

您可以使用 git-for-each-ref获取所有本地和跟踪分支的列表,这些分支按最后一次提交的提交者日期降序排序,如下所示:

git for-each-ref --sort=-committerdate --format='%(committerdate:short) %(refname)' refs/heads refs/remotes

这输出例如:

2012-06-23 refs/heads/master
2012-06-21 refs/remotes/origin/HEAD
2012-06-21 refs/remotes/origin/master

您可以添加 --count=m 以获得最多 m 个分支,您可以 --sort=-authordate 而不是使用提交者日期,您当然可以使用不同的格式。 for-each-ref 本身不按日期限制结果,这必须单独编写脚本,但至少您手头有提交对象的日期。

关于git - 如何在 git 中仅列出事件/最近更改的分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11135052/

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