Как зафиксировать / вставить перевод строки (LF) в репозиторий git - PullRequest
1 голос
/ 16 апреля 2019

У меня есть один файл в моем git-репозитории с "CRLF" в качестве конца строки. когда я нажимаю «Показать все символы» в блокноте ++, он показывает конец «CRLF» каждой строки. Этот файл отслеживается с содержанием ниже.

{
"Inputs": {
     "General": [
           {
              "name": "test",
              "ID": "b"
           }]
         }
}

Я заменил этот конец "CRLF" каждой строки на "LF", используя параметр замены в notepad ++.

Когда я фиксирую это изменение, выдается ошибка, как показано ниже.

нечего коммитить, рабочее дерево чистое

git не вышел корректно (код выхода 1)

Как зафиксировать это изменение в git.

Ответы [ 2 ]

3 голосов
/ 16 апреля 2019

См. статью GitHub о работе с окончаниями строк .

Ваш Git, вероятно, настроен на прозрачное преобразование CRLF в LF или наоборот.

2 голосов
/ 16 апреля 2019

Похоже, вы работаете в Windows, где окончание строки по умолчанию - CRLF.Git, однако, был разработан для Linux, где конец строки по умолчанию - LF;в Windows по умолчанию переводится CRLF в LF, когда текстовые файлы фиксируются, и обратно из LF в CRLF, когда они извлекаются.Изменения не регистрируются, поскольку файл в репозитории уже имеет LF в качестве окончания строки.

Это поведение контролируется несколькими различными параметрами конфигурации, но основным является core.autocrlf.В Linux это по умолчанию input;в Windows по умолчанию true.Поведение можно настроить (например, указать, какие файлы следует рассматривать как текстовые), используя файл .gitattributes в вашем хранилище.

См .: Работа с окончаниями строк - GitHub Help , " Следите за концом своей линии" Тимом Клемом , а также справочными страницами для gitattributes и git-config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...