Глядя на предупреждающее сообщение, я предполагаю, что ваша конфигурация следующая:
- Вы используете окна с
core.eol
, установленным на native
(по умолчанию в git 1.7.2 и выше) или явно установите core.eol на crlf
- Ваш core.autocrlf имеет значение
input
Эти git attributes
, core.autocrlf
и core.eol
letвы конфигурируете то, что вы хотите для концов строк и их возможных значений, и что они означают, отражено на странице руководства git и этот ответ stackoverflow
И ответ на оба (1) и (2)), ваши вопросы: «Потому что вы настроили это так»
То, что вы должны сделать, зависит от того, на какой платформе вы находитесь, и с какой другой платформы вы будете получать доступ к git.Рекомендуется разрешить git хранить только LF
в качестве конца строки, так как сгенерированный хэш блоба изменится в противном случае, и git будет жаловаться на «измененные строки», даже если вы меняете только символы конца строки.
Поскольку вы работаете в Ubuntu, вы хотите установить core.eol
в lf
и core.autocrlf
в input
, чтобы git не преобразовывал LF в CRLF в вашем рабочем дереве.