Решение Git для автоматического преобразования символов новой строки LF CRLF под Windows

возникшие проблемы

Много раз мы занимались разработкой под Windows, а затем нужно было выполнить развертывание в среде Linux, но разрывы строк у них разные, и настройка Git по умолчанию разрешает преобразование, то есть все файлы имеют LF, когда они хранятся в Git, и то мы вытащим код в Win автоматически преобразуем его в CRLF.Если нам нужно отладить под Win, это будет очень хлопотно.Если мы отключим автоматическое преобразование, мы столкнемся с проблемами при отправке кода.Какое лучшее решение ?

Решение

Используйте файл .gitattributes, чтобы указать формат разрыва строки в файле, который может быть одинаковым в разных операционных системах. Например, * text=auto означает, что Git автоматически определяет тип файла и преобразует его.

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

Укажите формат новой строки:

*.sh eol=lf

Приведенный выше код означает, что в репозитории Git все файлы сценариев оболочки будут вынуждены использовать разрывы строк в формате LF.

Шаги

1. Указываем файл .gitattributes.Здесь беру для примера глобальную конфигурацию

Установите свойство core.attributesfile в файле конфигурации Git:

git config --global core.attributesfile ~/.gitattributes_global

~/: указывает текущий каталог пользователя, например, C:\Users\xxx, /home/xxx

2. Заполните содержимое .gitattributes_global

*.sh eol=lf

Затем все готово, а затем тяните код, все сценарии оболочки являются разрывами строк LF, теперь вам не нужно беспокоиться об этой проблеме, когда вы нажимаете скрипт под WIn.

Подведем итог

Я считаю, что есть еще много мелких партнеров, которым также нужно разрабатывать под Win, а затем нужно делать отладку в среде Linux, например, запуск скриптов, разработка Android и т. Д., Проблема разрывов строк может быть решена с помощью вышеуказанных решений. .
.gitattributes имеет другие функции, которые мы можем использовать для решения некоторых подробных требований в производственной среде.

Guess you like

Origin blog.csdn.net/qq_29687271/article/details/129904957