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

如何按日期条件排除指定账户获取Git日志?

Git日志筛选问题修复方案

问题根源

原命令的--author正则失效,是因为Git的--author参数会匹配作者姓名或邮箱字段的任意部分,而你写的^(?!...)是从字段开头开始匹配负向预查,但作者字段通常是姓名 <邮箱>的格式,系统账户的邮箱在字段中间(<>内),所以预查规则没覆盖到这种情况,导致没过滤掉目标账户。

解决方法

方法1:直接指定要保留的作者(推荐,精准度更高)

不需要排除,直接明确指定允许的作者邮箱,避免误过滤:

# 单个指定用户
git log --date=iso --pretty=format:"[%ad] %h %an" --author='sachiko@XXX.co.jp' --after '2022-10-01'

# 多个指定用户(需启用Perl正则)
git log --date=iso --pretty=format:"[%ad] %h %an" --author='sachiko@XXX.co.jp|another-user@XXX.co.jp' --perl-regexp --after '2022-10-01'

方法2:修正排除法的正则

调整正则,让负向预查匹配作者字段中任意位置出现的系统邮箱:

git log --date=iso --pretty=format:"[%ad] %h %an" --author='^(?!.*(concourse@XXX.co.jp|git@localhost|devXXXXau)).*$' --perl-regexp --after '2022-10-01'

这里的.*表示任意字符任意次数,确保不管系统邮箱出现在作者字段的哪个位置(比如<>内),都会被检测并排除。

额外提示

Git的日期参数推荐用YYYY-MM-DD格式(如2022-10-01),比YYYY/MM/DD兼容性更好,避免解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:40:28