Git Кроссплатформенные линейные окончания
Я делюсь репозиторием git со многими людьми, и в настоящее время нам трудно получить желаемую функцию окончания строки. То, что мы хотели бы случиться:
- Все файлы в хранилище хранятся с окончанием строки LF
- Когда пользователь Mac тянет / клонирует / толкает, все остается тем же
- Когда пользователь Windows тянет / клонирует, все преобразуется в CRLF, за исключением файлов.scr
- Когда пользователь Windows нажимает, все преобразуется в LF (см. Первый пункт)
Я пробовал пару разных решений.gitattributes, и я думаю, что это можно сделать, я просто не нашел правильный способ сделать это.
1 ответ
Это часто зависит от редактора, который вы используете.
Вы можете использовать стандартизированный набор правил, таких как EditorConfig, для определения общих концов строк. Пока все в вашем термине используют IDE, которая либо поддерживает ее изначально, либо имеет установленный плагин, который ее поддерживает, вы сможете достичь кроссплатформенной согласованности.
Раздетая спина .editorconfig
файл, который определяет окончания строки LF, может выглядеть так:
# top-most EditorConfig file
root = true
[*]
end_of_line = lf
Некоторые редакторы со встроенной поддержкой и плагины для других перечислены здесь.