Кроссплатформенная разработка с использованием Git (выпуск EOL) - PullRequest
4 голосов
/ 21 октября 2010

В нашей среде разработки мы используем Windows, Mac и Linux. У меня возникают проблемы, когда дело доходит до commit -> pull -> push рабочего процесса.

Проблема в конце символов строки. Если кто-то делает правку на Mac, а кто-то другой делает правку на Windows, они конфликтуют при вытягивании. Разница показывает, что весь файл отличается, потому что в окончаниях строк есть изменения.

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

1 Ответ

6 голосов
/ 21 октября 2010

То, что вы просите, чтобы каждый установил для параметра конфигурации core.autocrlf значение input, что приведет к нормализации окончания строки на входе (то есть данных, поступающих в хранилище; фиксации), но не на выходеданные, поступающие из хранилища; проверка, которая происходит во время извлечения).

Однако вы, возможно, на самом деле не хотите этого делать.Идеально для всех - просто правильно настроить свои редакторы.Редакторы большинства программистов достаточно умны в этом - они обнаруживают окончания строк и используют те же окончания строк при обратной записи в файл.Некоторым редакторам может понадобиться небольшая помощь.

(см., Например, ответ VonC здесь и другие вопросы SO об autocrlf.)

...