8

我正在使用 Git 跟踪对虚拟机的 XML 配置的更改。许多 XML 配置是相似的,只有几个字段不同。我经常删除虚拟机配置并添加新配置。将这些更改添加到存储库时,Git 将其视为文件重命名,只需进行一些更改。我可以明白为什么 git 会这样做,并了解它的用例。

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

4

2 回答 2

13

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

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

git log --stat --no-renames

(也适用于git diff,git show等)

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

git config diff.renames false
于 2013-04-23T15:10:21.157 回答
4

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

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

于 2013-04-23T15:09:56.270 回答