我正在使用 Git 跟踪对虚拟机的 XML 配置的更改。许多 XML 配置是相似的,只有几个字段不同。我经常删除虚拟机配置并添加新配置。将这些更改添加到存储库时,Git 将其视为文件重命名,只需进行一些更改。我可以明白为什么 git 会这样做,并了解它的用例。
我想知道是否有办法防止这种情况发生,而是让 git 将其视为文件删除,而是创建新文件。在查看提交日志时,更容易辨别“哦,今天我删除了这个 VM 并创建了一个新的”
我正在使用 Git 跟踪对虚拟机的 XML 配置的更改。许多 XML 配置是相似的,只有几个字段不同。我经常删除虚拟机配置并添加新配置。将这些更改添加到存储库时,Git 将其视为文件重命名,只需进行一些更改。我可以明白为什么 git 会这样做,并了解它的用例。
我想知道是否有办法防止这种情况发生,而是让 git 将其视为文件删除,而是创建新文件。在查看提交日志时,更容易辨别“哦,今天我删除了这个 VM 并创建了一个新的”
重命名只是输出中显示的内容,在内部它们就像常规删除和创建一样存储。
如果要禁用重命名检测,可以使用以下--no-renames
选项:
git log --stat --no-renames
(也适用于git diff
,git show
等)
如果您不想一直添加此选项,可以将其添加到您的配置中:
git config diff.renames false
别担心,Git 只是将更改显示为重命名,因为它看起来像重命名。它不会将其存储为重命名,因为 Git 无法做到这一点。重命名检测发生在提交显示上,而不是在记录时间。
git show --no-renames
即使您默认启用它,您也可以使用它来避免重命名检测。