Skip to Content
DocumentationFAQ最常问的问题

最常问的问题

问题一:为什么 Compare 中的变更代码文件数量和 GitLab 不一致?

Compare 中统计的是 Babel 参与编译并进入覆盖率计算链路 的文件,例如 jsjsxtstsx 等;而 GitLab 展示的是 Git diff 的文件变化结果。两者统计口径不同,因此数量可能不一致。

例如:

  • 你在一次提交中改了 10 个文件,其中包含:
    • 6 个 ts/tsx 业务文件
    • 2 个 md 文档
    • 1 个 json 配置
    • 1 张 png 图片
  • GitLab 的 compare 会显示 10 个变更文件。
  • Compare 页面通常只会聚焦可编译并参与覆盖率计算的代码文件(如上面的 6 个 ts/tsx),所以看到的文件数可能是 6。

再比如:

  • GitLab 中某些文件虽然发生了变更,但属于样式资源、静态资源、文档或未纳入 Babel 处理范围的文件。
  • 这些文件不会进入覆盖率计算,因此不会计入 Compare 的变更代码文件统计。

如果你想快速判断“为什么少了几个文件”,可以按下面思路排查:

  1. 先在 GitLab compare 中列出全部变更文件类型。
  2. 过滤出 jsjsxtstsx 等代码文件。
  3. 再对照项目的 Babel/插桩配置,确认这些代码文件是否在处理范围内。
  4. 对不在范围内的文件(如文档、图片、部分配置文件)视为口径差异导致的正常现象。