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

git shortlog无法检索2023年9月后提交的问题排查

问题原因及解决办法

可能的原因

  • 本地仓库未同步远程最新提交:你本地的仓库可能没有拉取到2023年10月之后的远程提交,导致git shortlog只能检索本地已有的提交记录。
  • 作者名匹配不精确:Git提交中的作者名可能和你使用的--author=Nury存在差异,比如大小写不一致、带有邮箱后缀(如Nury <xxx@xx.com>)、拼写变体,导致模糊匹配失败。
  • 时区或日期过滤逻辑问题:部分提交的时间戳时区与本地设置不一致,可能导致--after=2023-10-01的过滤条件误判了提交时间。

解决步骤

  1. 同步远程仓库
    先拉取所有远程分支的最新提交,确保本地仓库数据完整:

    git fetch --all
    

    之后再重新执行你的shortlog命令:

    git shortlog --all --author=Nury --after=2023-10-01
    
  2. 精确匹配作者信息
    先查看目标提交的真实作者信息,找到任意一个2023年10月之后的提交哈希,执行:

    git log -1 <你的提交哈希>
    

    从输出中复制Author:字段的完整内容(比如Nury <nury@example.com>),替换到命令中:

    git shortlog --all --author="Nury <nury@example.com>" --after=2023-10-01
    

    如果是大小写问题,可以添加-i参数忽略大小写:

    git shortlog --all --author=Nury -i --after=2023-10-01
    
  3. 验证日期过滤逻辑
    先用git log确认是否存在符合条件的提交,排除shortlog本身的问题:

    git log --all --author=Nury --after=2023-10-01
    

    如果这条命令能输出提交记录,但shortlog无结果,可尝试显式指定分支(比如远程主分支):

    git shortlog origin/main --author=Nury --after=2023-10-01
    
  4. 替代方法:直接查找最新提交
    如果只是需要按作者查找最新提交,可直接用git log按时间排序并过滤:

    git log --all --author=Nury --after=2023-10-01 --oneline --reverse
    

    或者只看最新的N条提交:

    git log --all --author=Nury --after=2023-10-01 --oneline -n 5
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:31:07