Подтвердить что ты не робот

Как изменить настройки окончания строки

Есть ли файл или меню, которые позволят мне изменить настройки того, как справляться с окончанием строки?

Есть 3 варианта:

  • Оформить заказ в стиле Windows, зафиксировать стиль Unix

    Git преобразует LF в CRLF при проверке текстовых файлов. когда с помощью текстовых файлов, CRLF будет преобразован в LF. Для кросс-платформенных проектов, это рекомендуемая настройка в Windows ( "core.autocrlf" установлен на "true" )

  • Оформить заказ как есть, зафиксировать стиль Unix

    Git не будет выполнять преобразование при проверке текстовых файлов. При выполнении текстовых файлов CRLF преобразуется в LF. Для кросс-платформенные проекты, это рекомендуемая настройка в Unix ( "core.autocrlf" установлен на "вход" ).

  • Checkout as-is, commit as-is

    Git не будет выполнять никаких конверсий при проверке или фиксации текстовые файлы. Выбор этой опции не рекомендуется для кросс-платформенных проектов ( "core.autocrlf" установлен на "false" )

4b9b3361

Ответ 1

Нормальный способ контролировать это с помощью git config

Например

git config --global core.autocrlf true

Для получения подробной информации прокрутите вниз по этой ссылке Pro Pro до раздела с именем "core.autocrlf"


Если вы хотите узнать, в каком файле это сохранено, вы можете запустить команду:

git config --global --edit

и глобальный конфигурационный файл git должен открыться в текстовом редакторе, и вы можете увидеть, откуда этот файл был загружен.

Ответ 2

Формат окончания строки, используемый в ОС

  • Windows: CR (Возврат каретки \r) и LF (LineFeed \n) пара
  • OSX, Linux: LF (LineFeed \n)

Мы можем настроить git на автоматическое исправление форматов окончания строк для каждой ОС двумя способами.

  • Git Глобальная конфигурация
  • Использовать .gitattributes файл

Глобальная конфигурация

В Linux/OSX
git config --global core.autocrlf input

При фиксации будет зафиксировано любое CRLF до LF.

В Windows
git config --global core.autocrlf true

Это гарантирует, что при оформлении заказа в окнах все LF преобразуются в CRLF

.gitattributes Файл

Это хорошая идея сохранить файл .gitattributes, так как мы не хотим ожидать, что все в нашей команде установят свою конфигурацию. Этот файл должен содержать корневой путь репо, и если он существует, git будет его уважать.

* text=auto

Это будет обрабатывать все файлы в виде текстовых файлов и конвертировать в строку ОС, заканчивающуюся при проверке, и вернуться к LF при фиксации автоматически. Если вы хотите явно указать, используйте

* text eol=crlf
* text eol=lf

Первый - для проверки, а второй - для фиксации.

*.jpg binary

Рассматривайте все .jpg изображения в виде двоичных файлов. Поэтому никакого преобразования не требуется

Ответ 3

Для решения по настройке репозитория, которое можно распространять среди всех разработчиков, проверьте атрибут text в файле .gitattributes. Таким образом, разработчикам не нужно вручную устанавливать свои собственные окончания строк в репозитории, а поскольку разные репозитории могут иметь разные стили окончания строк, глобальный core.autocrlf не самый лучший, по крайней мере, на мой взгляд.

Например, сброс этого атрибута по заданному пути [. - текст] заставит git не касаться концов строк при регистрации и выписке. На мой взгляд, это лучшее поведение, так как большинство современных текстовых редакторов могут обрабатывать оба типа окончаний строк. Кроме того, если вы, как разработчик, все еще хотите выполнять преобразование конца строки при регистрации, вы все равно можете установить путь для соответствия определенным файлам или установить атрибут eol (в .gitattributes) в своем хранилище.

Также ознакомьтесь с этой соответствующей статьей, в которой более подробно описан файл .gitattributes и атрибут text: какова лучшая стратегия обработки CRLF (возврат каретки, перевод строки) с Git?

Ответ 4

Если вы хотите преобразовать форматы файлов, которые были изменены в формат UNIX Format из ПК.

(1) Вам необходимо переустановить черепаху GIT, а в разделе "Conversion Line Ending" убедитесь, что вы выбрали опцию "Check out is is - Check in as is".

(2) и сохраните оставшиеся конфигурации как есть.

(3) после завершения установки

(4) напишите все расширения файлов, которые преобразуются в формат UNIX в текстовый файл (extensions.txt).

ex:*.dsp
   *.dsw

(5) скопируйте файл в свой клон Выполните следующую команду в GITBASH

while read -r a;
do
find . -type f -name "$a" -exec dos2unix {} \;
done<extension.txt

Ответ 5

Вы можете попробовать это.

git config --global core.whitespace cr-at-eol