是否存在等效git diff -M、git merge -X rename-threshold的git config配置项?
Git 重命名检测默认阈值配置说明
存在对应的git config配置项,可以分别为diff、merge操作设置默认的重命名相似度阈值,无需每次执行命令时手动指定参数:
- 针对
git diff及所有复用diff逻辑的命令(如git show、git log -p、git format-patch、git status等)
使用diff.renameThreshold配置项,取值规则和-M参数完全一致:传0-100的整数代表相似度百分比,默认值为50。例如全局设置diff默认70%相似度判定为重命名,执行以下命令即可:
注:Git 2.9及以上版本默认开启diff重命名检测(即git config --global diff.renameThreshold 70diff.renames=true),低版本需先手动开启该配置,重命名阈值配置才会生效。 - 针对
git merge相关合并操作
使用merge.renameThreshold配置项,对应-X rename-threshold参数,取值规则同样为0-100的整数,默认值为50。例如全局设置merge阶段默认80%相似度才判定为重命名,执行以下命令即可:git config --global merge.renameThreshold 80
注意:如果执行命令时手动传入了
-M<n>(diff场景)或-X rename-threshold=<n>(merge场景)参数,命令行参数的优先级高于配置文件设置,会临时覆盖默认阈值。
请勿将上述阈值配置与diff.renameLimit、merge.renameLimit混淆,后两个配置项控制的是单次重命名检测最多处理的文件数量上限,和相似度判定规则无关。
内容的提问来源于stack exchange,提问作者cpcallen
相关产品推荐
相关产品推荐

