Atlassian SourceTree: Как глобально изменить окончания строк?


10

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

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

Ответы:


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.


Внешние ссылки могут стать недоступными, и в этом случае ваш ответ будет иметь небольшое значение. Пожалуйста, включите необходимую информацию в свой ответ и используйте ссылку для указания источника и дополнительной информации. Спасибо.
fixer1234 26.02.15

Надеюсь, что это включает в себя необходимые детали
gpullen
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.