Каталог статей
возникшие проблемы
Много раз мы занимались разработкой под 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 имеет другие функции, которые мы можем использовать для решения некоторых подробных требований в производственной среде.