Игнорировать возврат каретки для определенного файла с помощью Git

1078
Warren Seine

Я использую несколько сред благодаря виртуальным машинам, и моя директория кода разделяется между ними. Мне также нравится, чтобы в моем коде были нативные (хостовые) окончания строк.

Когда я нахожусь на хосте Windows, я проверяю, что мой код и окончания строк преобразованы в \r\n(и это нормально для меня). Но когда я хочу выполнить сценарий оболочки с моей виртуальной машины Linux, я получаю сообщение об ошибке, говорящее, что /bin/sh^Mего не существует.

Могу ли я сказать Git сохранить окончания Unix для этого конкретного файла? Есть ли лучший способ справиться с окончаниями строк в нескольких средах?

3

2 ответа на вопрос

1
grawity

Для одного файла создайте .gitattributesфайл, содержащий:

*.sh eol=lf 

(Другой возможный параметр - -textотключение преобразования конца строки.)

`-text` будет делать и другие вещи, которые вам не нужны, например, прекратить показывать различия для файла. Arrowmaster 13 лет назад 1
0
James T

Вы можете запустить dos2unix для файлов, чтобы правильно отформатировать их для linux / unix.

Это сделало бы файл совершенно отличным от VCS. Warren Seine 13 лет назад 0