如何筛选并列出指定日期区间内有最新提交的Git远程分支
筛选指定日期范围内的Git远程分支
要获取最新提交(HEAD)在2023-11-28至2023-11-30之间的远程分支列表,推荐使用git for-each-ref命令,它支持自定义输出格式和日期筛选,完全满足你的需求:
git for-each-ref --sort=committerdate --format='%(refname:short) %(committerdate:short)' refs/remotes/ --since="2023-11-28" --until="2023-11-30 23:59:59"
命令参数说明:
--sort=committerdate:按分支最新提交的日期排序--format='%(refname:short) %(committerdate:short)':自定义输出格式,%(refname:short)显示简化的远程分支名(如origin/feature/login),%(committerdate:short)显示短格式提交日期(如2023-11-30)refs/remotes/:指定仅遍历远程分支引用--since和--until:限定提交日期范围,加上23:59:59确保包含2023-11-30当天的所有提交
可选:移除分支名中的origin/前缀
如果希望输出的分支名不带远程仓库前缀(如直接显示feature/login),可以修改--format参数:
git for-each-ref --sort=committerdate --format='%(refname:strip=3) %(committerdate:short)' refs/remotes/ --since="2023-11-28" --until="2023-11-30 23:59:59"
%(refname:strip=3)会移除refs/remotes/origin/这三级前缀,直接得到分支名本身。
关于你之前尝试的git branch -r
git branch -r本身不支持直接输出提交日期和日期筛选,而git for-each-ref是Git提供的更灵活的引用遍历工具,完全适配这类自定义查询需求。
内容的提问来源于stack exchange,提问作者Kevin C
相关产品推荐
相关产品推荐

