Почему GitHub считает, что мой код имеет различия?
Когда я добавлю...
# Auto detect text files and perform LF normalization
* text=auto
... в мой конфигурационный файл приложение / клиент GitHub сообщает, что многие (если не все?) файлы в хранилище изменились. Для многих из них говорится, что весь файл изменился, хотя, очевидно, не изменился. Очевидно, что это проблема с окончаниями строк, но я не понимаю, почему это так радует.
Кажется, что как только вы говорите Git (через файл конфигурации), что тип файла - текстовый, он выбрасывает различия.
1 ответ
Решение
С text=auto Git хочет хранить файлы в формате LF - он не просто применяет фильтр к тому, что там есть. В результате любой файл, который еще не сохранен с окончаниями LF, будет отображаться как измененный. Вы, вероятно, хотите последовать совету gitattributes
man страницу в разделе конвертации eol и сделайте:
$ rm .git/index # Remove the index to force Git to
$ git reset # re-scan the working directory
$ git status # Show files that will be normalized
$ git add -u
$ git add .gitattributes
$ git commit -m "Introduce end-of-line normalization"