You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取2022年6月1日后每日10点至13点的Git日志?

问题根因
  • Git里--since和--after是完全等价的参数别名,作用都是筛选提交时间晚于指定值的记录;--until和--before是另一组等价别名,作用是筛选提交时间早于指定值的记录。
  • 同一语义的参数多次传值时,Git会直接用最后传入的值覆盖前面的配置。你写的命令中--since=10am会被后面的--after=2022-06-01覆盖,实际执行时仅保留了「2022年6月1日之后提交」的过滤规则,时段限制完全失效,自然会返回所有符合日期要求的日志。
  • 额外说明:你之前能正常获取当日10-13点日志,是因为不带日期前缀的10am/13pm默认会被解析为当前日期的对应时间点,本身就无法跨天匹配历史日期的同时段提交。
正确实现命令

Git原生的时间过滤仅支持绝对/相对时间点筛选,不支持跨日期匹配每日固定时段的规则,需要结合文本过滤实现需求,命令如下:

git log --oneline --after=2022-06-01 --format="%ci %h %s" | awk '$2 >= "10:00:00" && $2 <= "13:00:00" {print $3, substr($0, index($0,$4))}'

命令逻辑说明:

  • 先用--after=2022-06-01过滤掉2022年6月1日之前的提交,减少后续处理的数据量
  • --format="%ci %h %s" 会按固定格式输出每个提交的提交时间(标准格式含年月日、时分秒、时区)、短提交哈希、提交说明
  • awk部分会提取每行的时分秒字段,判断是否落在10:00:00-13:00:00区间内,符合条件的条目会输出和--oneline一致的「短哈希+提交说明」格式
  • 如果需要按作者提交时间而非提交入库时间筛选,把参数里的%ci替换为%ai即可。

内容的提问来源于stack exchange,提问作者Joe199382

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 12:33:30