2011-10-25 4 views
9

Я работаю над Windows, но могу также работать в Unix, поэтому мне не нужно хранить окончание строк Windows. Я просто хочу подавить предупреждение.Как отключить предупреждения Git «LF будет заменен CRLF»?

Я нашел эти вопросы переполнения стека, которые имеют отношение:
git turn off "LF will be replaced by CRLF" warning
git, whitespace errors, squelching and autocrlf, the definitive answers

Я пробовал:
мерзавец конфигурацию core.whitespace кр-на-EOL ложной
мерзавца конфигурации core.whitespace кр-на -eol true
git config core.whitespace cr-at-eol nowarn

Но они ничего не делают. Кто-нибудь знает, как отключить предупреждения?

Спасибо.

ответ

7

Я просто использую autocrlf=true в файле .git/config для покрытия большинства ситуаций в Windows. Существуют случайные предупреждения в зависимости от новых исходных файлов.

Если у вас есть специальные файлы, которые не следуют схеме, установите отдельно .gitattributes для них, например. У меня есть файлы Matlab с *.m eol=lf.

+0

Для того, чтобы разработать для полных новичков GIT как и я: файл «config» находится в каталоге .git. В Windows установлен атрибут «скрытый» каталога. –

4

Я использовал этот способ:

мерзавец конфигурация core.autocrlf команды используются для изменения, как Git обрабатывает окончаний строк. Он принимает один аргумент.

В Windows вы просто передаете true в конфигурацию. Например:

$ git config --global core.autocrlf true  
# Configure Git on Windows to properly handle line endings 

Вы также можете предоставить специальный --global флаг, который делает Git использовать же настройки для линейных окончаний через каждый локальный репозиторий Git на компьютере.

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

Лучший способ автоматической настройки строки окончаний вашего хранилища является первой резервной копии ваших файлов с Git, удалите все файлы в вашем хранилище (кроме .git каталога), а затем восстановить файлы все сразу , Сохраните текущие файлы в Git, чтобы ни одна из ваших работ не была потеряна.

$ git add . -u 
$ git commit -m "Saving files before refreshing line endings" 

Удалить все файлы из индекса Git.

$ git rm --cached -r . 

Перепишите индекс Git, чтобы забрать все новые строки.

$ git reset --hard 

Добавить все ваши измененные файлы и подготовить их к фиксации. Это - это ваш шанс проверить, какие файлы, если они есть, остались без изменений.

$ git add . 
# It is perfectly safe to see a lot of messages here that read 
# "warning: CRLF will be replaced by LF in file." 

Зафиксировать изменения в вашем репозитории.

$ git commit -m "Normalize all the line endings" 

Источник: https://help.github.com/articles/dealing-with-line-endings/

0

Я также развивается на окнах и потому наши серверы работают под Linux и весь код должен базироваться на Linux я предпочел изменить все свои файлы на LF вместо CRLF.

из мерзавца командной строки:

git config --global core.autocrlf false 

Я работаю с IntelliJ идеей, так что это довольно легко:

1) Файл -> Настройки -> Редактор -> стиль код : (для любого нового файла будет создан )

a. Схема: по умолчанию

b. Линейный разделитель: unix и os x (\ n)

2) отметьте корень проекта -> файл -> разделитель строк -> LF unix и os x (\ n) (для существующих файлов)

Примечание: вы также можете использовать такие приложения, как dos2unix.exe или некоторые другие скрипты.

, чем я, используя мою командную строку: (вы можете сделать это также от идеи)

git commit -m "bla bla" 
git add . 
git push origin master 

с тех пор я не получил эти предупреждения