为什么Git在没有找到重命名的情况下检测重命名?

为什么Git在没有找到重命名的情况下检测重命名?,git,Git,我运行git log--name status-1,git检测到重命名。从我所读到的内容来看,只有在指定--find renames时才启用重命名检测。为什么Git在没有找到重命名的情况下检测重命名 如果在开箱即用的情况下启用重命名检测,那就太棒了。我相信Tests/ProgramTest.cs=>Tests/StringExtensionsTest.cs也是一个重命名。如何要求Git计算相似性索引并将其显示为重命名?Git将在指示时检测重命名。该方向由各种控制旋钮控制;其中之一是diff.re

我运行
git log--name status-1
,git检测到重命名。从我所读到的内容来看,只有在指定--find renames时才启用重命名检测。为什么Git在没有找到重命名的情况下检测重命名


如果在开箱即用的情况下启用重命名检测,那就太棒了。我相信Tests/ProgramTest.cs=>Tests/StringExtensionsTest.cs也是一个重命名。如何要求Git计算相似性索引并将其显示为重命名?

Git将在指示时检测重命名。该方向由各种控制旋钮控制;其中之一是
diff.renames
设置。在Git 2.9之前的Git版本中,
diff.renames
的默认值为
false
,并且


(请注意,命令行标志会覆盖
diff.rename
,因此,如果需要,可以显式关闭重命名检测。还请注意,“管道”像
git diff tree
这样的命令通常不读取用户配置设置,例如
diff.renames
diff.renameLimit
,这样脚本行为将是可预测的,而不是取决于用户的配置设置。)

git将在收到指示时检测重命名。该方向由各种控制旋钮控制;其中之一是
diff.renames
设置。在Git 2.9之前的Git版本中,
diff.renames
的默认值为
false
,并且


(请注意,命令行标志会覆盖
diff.rename
,因此,如果需要,可以显式关闭重命名检测。还请注意,“管道”像
git diff tree
这样的命令通常不读取用户配置设置,例如
diff.renames
diff.renameLimit
,这样脚本行为将是可预测的,而不是取决于用户的配置设置。)

是默认的相似性阈值50%?我能换一下吗?我可以让Git计算Tests/ProgramTest.cs=>Tests/StringExtensionsTest.cs的相似性指数吗?(1)是的,它是50%;(2) 不带配置项,仅带命令行标志;(3)不直接。Git仅对“未配对”文件(松散地定义为源树中路径P在目标树中没有匹配P的文件,反之亦然)或通过
-B
参数临时断开配对的文件(如果有)进行相似性测试。Git然后对“最相似”的文件对进行配对,只要它超过阈值,然后才显示差异和相似性索引号。默认的相似性阈值是50%吗?我能换一下吗?我可以让Git计算Tests/ProgramTest.cs=>Tests/StringExtensionsTest.cs的相似性指数吗?(1)是的,它是50%;(2) 不带配置项,仅带命令行标志;(3)不直接。Git仅对“未配对”文件(松散地定义为源树中路径P在目标树中没有匹配P的文件,反之亦然)或通过
-B
参数临时断开配对的文件(如果有)进行相似性测试。Git然后对“最相似”的文件对进行配对,只要它超过阈值,然后才显示差异和相似性索引号。