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

GitHub Enterprise合并时如何排除文件/目录不统计代码增减量?

解决GitHub Enterprise Server网页端PR代码行数统计排除指定文件的问题

为啥之前改.gitattributes没用?
.gitattributes里的diff=nodiff或-diff只管差异显示,不会让GHES的PR行数统计忽略这些文件。网页端的统计逻辑是默认遍历所有变更文件,不管你设置了什么diff规则。

实际可行的解决办法:

1. 用仓库设置直接排除文件(优先推荐)

如果你的GHES版本是3.7及以上,直接在仓库里配置:

  • 进入仓库的Settings → 找到Code and automation下的Repository settings(不同版本位置可能略变,找类似“Diff statistics”的选项)
  • 在Exclude files from diff statistics里添加要排除的规则,语法和.gitignore一样,比如:
    node_modules/**
    generated/**/*.json
    *.lock
    
    保存后,新的PR统计就会自动忽略这些文件。

2. 用GitHub Actions做自定义统计

如果GHES版本太低,没有上面的设置,或者需要更灵活的统计逻辑,写个简单的Action:

  • 在仓库里创建.github/workflows/line-count.yml文件,内容如下:
    name: PR 精准行数统计
    on: [pull_request]
    
    jobs:
      count-lines:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
            with:
              fetch-depth: 0
          - name: 计算变更行数
            run: |
              # 排除指定文件,统计增减行数
              git diff --numstat ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} \
                -- . ':!node_modules' ':!generated' ':!*.lock' | awk '{add += $1; subs += $2} END {print "新增行数: " add "\n删除行数: " subs}'
          - name: 把统计结果评论到PR
            uses: actions/github-script@v7
            with:
              script: |
                const output = await exec.getOutput('计算变更行数');
                github.rest.issues.createComment({
                  issue_number: context.issue.number,
                  owner: context.repo.owner,
                  repo: context.repo.repo,
                  body: `精准代码行数统计:\n\`\`\`\n${output}\n\`\`\``
                });
    
    这个Action会在PR打开时自动计算排除指定文件后的行数,然后评论到PR里,直接替代GHES默认的统计。

3. 找管理员配置全局规则

如果是全公司都需要排除某些类型的文件,联系GHES管理员,在管理控制台里配置全局的diff统计排除规则,这样所有仓库都会生效。

验证一下:设置完后开个新PR,或者刷新现有PR,看看网页端的统计有没有变化;用Action的话直接看PR评论就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:15:09