10

Есть ли способ в Atlassian SourceTree или с моим текущим git-хостом (BitBucket) изменить окончание строк глобально для всех моих репозиториев.

Я думаю, что они в настоящее время настроены на Unix (я думаю, что я сделал это случайно), но я разрабатываю исключительно для Windows. Моя IDE постоянно выдает мне предупреждающие сообщения и сообщения об ошибках в файлах, и я хотел бы исправить это, но каждый раз, когда я отправляю свой проект в облако, он возвращается к окончанию Unix, так что даже если я пакетно меняю окончания строк они все равно возвращаются.

1 ответ1

12

Вы можете настроить обработку окончания строки для каждого репозитория, добавив специальный файл .gitattributes в корневую папку вашего репозитория Git. Если этот файл зафиксирован в репозитории, он переопределяет настройку core.autocrlf отдельного разработчика.

В этом файле вы можете настроить Git для автоматического определения концов строк.

Примечание:- Не все графические инструменты Git поддерживают файл .gitattributes, например, Eclipse IDE в настоящее время не поддерживает его.

Вот пример файла .gitattributes. Вы можете использовать его как шаблон для своих репозиториев:

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary

Вы заметите, что файлы совпадают - *. C, * .sln, * .png--, разделенные пробелом, а затем заданы настройки - text, text eol = crlf, binary. Мы рассмотрим некоторые возможные настройки ниже.

text = auto Git будет обрабатывать файлы любым удобным для него способом. Это хороший вариант по умолчанию.

text eol = crlf Git всегда преобразует окончания строк в CRLF при оформлении заказа. Вы должны использовать это для файлов, которые должны сохранять окончания CRLF, даже в OSX или Linux. Например, вот проект Windows, который обеспечивает завершение строк CRLF.

text eol = lf Git всегда преобразует окончания строк в LF при оформлении заказа. Вы должны использовать это для файлов, которые должны сохранять LF-окончания, даже в Windows. Например, вот проект, который применяет окончания строк LF.

двоичный Git поймет, что указанные файлы не являются текстовыми, и он не должен пытаться изменить их. Двоичный параметр также является псевдонимом для -text -diff.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .