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

如何格式化git log输出:每行显示文件及对应提交日期

解决方案

可以通过结合git log和awk命令实现你想要的格式,具体命令如下:

git --no-pager log --name-only --pretty=format:"%cd" --date=format:"%Y-%m-%d" --diff-filter=A -- rewiser/ | awk 'NF { if ($0 !~ /^rewiser\//) { date = $0 } else { print $0 " - " date } }'

命令说明:

  1. git log 核心参数:

    • --pretty=format:"%cd":仅输出提交日期,剔除默认的提交信息头部内容
    • --date=format:"%Y-%m-%d":指定日期输出格式为「年-月-日」
    • --name-only:只显示当前提交涉及的文件路径
    • --diff-filter=A:仅筛选出新增的文件
    • -- rewiser/:限定只处理rewiser目录下的文件
  2. awk 处理逻辑:

    • NF:跳过日志中的空行,只处理有效内容
    • 行内容判断:如果当前行不是rewiser/开头(即日期行),就把该行内容暂存为date变量;如果是文件路径行,就将路径和日期拼接成「文件名 - 日期」的格式输出

如果你的文件路径规则有变化(比如存在更深层级的子目录),可以把判断条件改成$0 ~ /\./(匹配带后缀的文件行),或者根据实际路径特征调整匹配规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 20:59:54