Это связано с изменением формата EOL для файла.
Существуют разные форматы EOL (конец строки). UNIX использует LF как разрыв строки, Windows использует CRLF, Mac использует другое. Достойные текстовые редакторы распознают формат файла и сохраняют его при сохранении файла (блокнота Windows нет в списке достойных текстовых редакторов. Он исторически испортил их ... почему? Потому что, кто использует что-нибудь, кроме Windows ??? В любом случае ). Работать в среде с несколькими ОС это может быть непросто.
Теперь, когда вы изменяете формат EOL для данного файла в ревизии (по желанию или по желанию), для VCS это похоже на изменение всего файла, что вы и видите.
Git предлагает несколько трюков, чтобы не допустить этого. Для этого была старая реализация (с использованием autocrlf, я думаю), которая была довольно грязной, хотя она все еще доступна (и, вероятно, это вызывает у вас проблемы с изменением формата файлов EOL за вашей спиной). Затем была другая попытка, которая намного лучше, которая использует атрибуты. В общем, лучшее, что вы можете сделать, это сказать git, чтобы файлы были как есть и не путались с форматом файлов EOL, добавив эту строку в .git/info/attributes
:
* -text
Надеюсь, это поможет.