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

GitHub Action中指定目录的git shortlog输出为空求助

问题排查与解决方案

1. 检查路径大小写匹配

Ubuntu是大小写敏感系统,而macOS默认启用大小写不敏感的文件系统。如果命令中的myFolder和仓库实际目录的大小写不一致(比如实际是MyFolder或myfolder),在Ubuntu下会无法匹配到目标目录的提交,导致shortlog为空。

验证方式:在执行git命令前,先打印目录结构确认:

ls -la

确保目录名和命令中的完全一致,修正命令中的路径大小写后重试。

2. 确保git shortlog遍历所有提交范围

当你通过ref: ${{ github.event.pull_request.head.sha }}checkout后,当前处于分离HEAD状态,默认git shortlog只会显示当前HEAD可达的提交历史。如果目标目录myFolder的提交分布在其他分支(比如PR的base分支),就会被遗漏。

解决方法:

  • 若要查看所有分支中涉及myFolder的提交,添加--all参数:
    git shortlog -e -n -s --all -- myFolder
    
  • 若只需要查看PR中涉及myFolder的提交,指定base分支到当前HEAD的范围:
    git shortlog -e -n -s ${{ github.event.pull_request.base.sha }}..HEAD -- myFolder
    

3. 确认工作目录正确性

有时GitHub Actions的工作目录可能不是仓库根目录,导致路径匹配失败。在执行git命令前添加以下步骤验证:

pwd
ls -la

确保当前处于仓库根目录,且myFolder存在于该目录下。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:06:32