Мультиплатформенная разработка и опция autocrlf в Git

В настоящее время я использую Git, и на моем ПК с Windows все в порядке. У меня для autocrlf установлено значение true, что в соответствии с этим правильно

https://help.github.com/articles/dealing-with-line-endings

На самом деле у меня нет жалоб, кажется, что работает очень хорошо, время от времени появляются некоторые предупреждения, но я обычно их игнорирую.

Но что это на самом деле делает тогда? Добавляет ли это CR/LF при выполнении PULL, а затем изменяет CRLF на LF при выполнении push?

Так что "ВСЕГДА" в репозитории есть файлы "ТОЛЬКО" LF, а не CRLF?

Я собираюсь начать разработку в том же репозитории с MAC OS X и Linux, теперь я запутался, согласно GitHub, в нем говорится, что для Windows для Autocrlf установлено значение TRUE.

Но в Linux/MAC OS X следует ли мне делать то же самое? Я знаю, что Linux не использует CRLF.

Обновлять

Я вижу различные комментарии о переполнении стека, чтобы не использовать его как истину, но, конечно, я использую 3 типа систем, поэтому я полагаю, именно поэтому это рекомендуется здесь?

И линукс тоже рекомендуется? но это никогда не сделает crlf.

Так что, я полагаю, дело в том, всегда оставляйте это как истину, на всякий случай?


person Martin    schedule 20.08.2012    source источник


Ответы (2)


Установите autocrlf на true также в OS X. Это будет правильно. (На самом деле, вы также можете установить его в Linux, и он снова будет работать правильно.)


Но что это на самом деле делает тогда? Добавляет ли это CR/LF при выполнении PULL, а затем изменяет CRLF на LF при выполнении push?

Да. Он преобразует файлы в локальный собственный формат окончания строки, когда они извлекаются локально, а затем, когда они фиксируются, они автоматически преобразуются обратно в канонический формат окончания строки (LF).

person Amber    schedule 20.08.2012

Это может помочь ответить на некоторые ваши вопросы.

По сути, это действительно имеет значение только в том случае, если вы используете редактор, который не может правильно обрабатывать окончания строк или тот, который часто жалуется (например, Visual Studio).

person Carl    schedule 20.08.2012