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

如何让git log/git show命令显示提交中的文件复制/重写信息

解决方案

原因说明

Git 提交时输出的 rewrite、copy 判定基于文件相似度检测,默认git log/git show未启用完整的复制检测逻辑,且默认的相似度判定阈值高于你提交时的文件匹配度,因此会将复制/重写操作识别为新建文件操作。

单次调用临时生效

执行命令时添加-M(开启重命名/重写检测)、-C(开启复制检测)参数,可按需指定相似度阈值:

  • 查看指定提交的完整文件变更状态:
git show -M75% -C60% --summary 1d8c20c

你提交记录中 rewrite 相似度为78%、copy 相似度为61%,上述阈值可以完美匹配对应判定结果。

  • 查看全量提交日志的对应信息:
git log -M -C --summary

全局配置永久生效

执行以下命令配置 Git 默认开启相关检测,后续无需额外加参数即可直接显示对应信息:

# 开启重命名+复制检测
git config --global diff.renames copies
# 调整检测的文件数量上限,避免文件过多时检测失效
git config --global diff.renameLimit 9999
# 设置重命名/重写判定的最低相似度阈值
git config --global diff.renameThreshold 70%
# 设置复制判定的最低相似度阈值
git config --global diff.copyThreshold 60%

配置完成后直接执行git show 1d8c20c或git log --summary即可正常显示 rewrite、copy 相关的状态信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:45:03