Решаем вопрос "Различия только в разделителе строк" при работе с Git

Опубликовано в Веб-разработка

Как получается, что Git видит изменения, а разработчик - нет?

В моем случае проблема возникла, когда для локальной работы на виртуальном окружении мне понадобилось на Windows развернуть резервную копию боевого проекта, а затем сравнить её с веткой разработки в Git.

В процессе сравнения система контроля версий видела модифицированные файлы, но внятно не смогла сообщить, в чем же отличия.

PHPStorm отобразил следующее предупреждение: Contents have differences only in line separators.

Решение

В документации https://docs.github.com/ru/get-started/getting-started-with-git/configuring-git-to-handle-line-endings для гита предлагается изменить глобальные настройки конфигурации:

$ git config --global core.autocrlf true

Это также можно сделать не глобально, а в настройках отдельного репозитория.

Затем, чтобы исправить эту ошибку, создайте резервную копию ваших изменений и выполните эти команды в корневом каталоге репозитория git, чтобы сбросить индекс git:

rm .git/index
git reset

После этого у вас должны отображаться только те файлы, которые действительно имеют различия в содержиом, не зависимо от использщуемого символа переноса строки.

Tags: Git