Как git ведет себя на новой строке, зависит от нескольких конфигураций:
- core.eol
- core.autocrlf
- .gitattributes file
Для вас ситуация, я подозреваю, ниже может быть причиной.
- В вашей git-базе данных (. Git) все текстовые файлы хранятся с новой строкой
LF
. - Ваш локальный репозиторий клонируется под Windows, во время извлечения git преобразует
LF
в CRLF
. - Когда вы делаете
git status
под Linux / cygwin, так как "cygwin git" считает, что работает под "* inux" environemnt, так что этот git считает, что локальный репозиторий должен извлекать текстовые файлы с помощью LF
.Когда он действительно находит CRLF
, он думает, что CRLF
изменен с LF
, поэтому git сообщает, что они изменены.
Чтобы проверить это (не исправить это), вы можете сделать:
# under linux
# save your change
git stash
# delete working directory
git rm --cached -r .
# re-checkout
git reset --hard
И снова запустите git status
, вы увидите / должны увидеть выходные отчеты без изменений.
Ссылки:
Запомните конец своей строки