防止git处理删除&新文件w /更改为移动

时间:2013-04-23 14:59:35

标签: git

我正在使用Git跟踪虚拟机的XML配置更改。许多XML配置都是类似的,只有少数字段不同。我经常删除VM配置并添加新配置。将这些更改添加到repo时,Git会将其视为文件重命名,只需进行一些更改。我可以看到为什么git会这样做,并理解它的用例。

我想知道是否有办法防止这种情况,而是让git将其视为文件删除而不是创建新文件。查看提交日志时,可以更容易地辨别“哦,看起来就像这一天我删除了这个VM并创建了一个新的”

2 个答案:

答案 0 :(得分:11)

重命名只是输出中显示的内容,在内部它们被存储为常规删除和创建。

如果要禁用重命名检测,可以使用--no-renames选项:

git log --stat --no-renames

(也适用于git diffgit show等。)

如果您不想一直添加此选项,可以将其添加到配置中:

git config diff.renames false

答案 1 :(得分:3)

别担心,Git只是将更改显示为重命名,因为看起来像重命名一样。它不是将它存储为重命名,因为Git无法做到这一点。重命名检测在提交显示时发生,而不是在记录时发生。

即使您默认启用重命名检测,也可以使用git show --no-renames来避免重命名。