Atlassian SourceTree: Як змінити закінчення рядків у всьому світі?


10

Чи є спосіб або в Atlassian SourceTree, або з моїм поточним хостом git (BitBucket) змінити закінчення рядків у всьому світі для всіх моїх сховищ.

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

Відповіді:


12

Ви можете налаштувати обробку закінчення рядків для сховища, додавши спеціальний файл .gitattributes до кореневої папки вашого сховища Git. Якщо цей файл призначений для сховища, він переосмислює налаштування core.autocrlf окремого розробника.

У цьому файлі ви можете налаштувати Git для автоматичного виявлення закінчень рядків.

Примітка: - Не всі графічні інструменти Git підтримують файл .gitattributes, наприклад, IDE Eclipse наразі не підтримує його.

Ось приклад .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 закінчень рядків.

binary Git зрозуміє, що вказані файли не є текстовими, і він не повинен намагатися їх змінювати. Двійковий параметр також псевдонім для -text -diff.


Зовнішні посилання можуть стати недоступними, і в цьому випадку ваша відповідь мала б мало значення. Будь ласка, включіть у свою відповідь важливу інформацію та використовуйте посилання для віднесення та джерело додаткової інформації. Дякую.
fixer1234

Сподіваюсь, що це включає необхідну деталь
gpullen
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.