Я использую git 1.7.1 на Windows XP с Cygwin.Эту проблему лучше всего проиллюстрировать на следующем примере:
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: system/application/config/email.php
# modified: system/application/config/upload.php
# modified: system/application/views/frontend/business_subscription/start_subscription.php
#
no changes added to commit (use "git add" and/or "git commit -a")
$ git checkout system/application/config/email.php
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: system/application/config/email.php
# modified: system/application/config/upload.php
# modified: system/application/views/frontend/business_subscription/start_subscription.php
#
no changes added to commit (use "git add" and/or "git commit -a")
$ git diff -w
Git показывает, что в перечисленных файлах есть некоторые изменения, но я не могу от них избавиться - файл все еще там.Кажется, что это происходит только с файлами, в которых нет никаких изменений, кроме пробелов (потому что git diff -w ничего не выводит.
Я думаю, что может быть вызвано настройками git crlf,но я не уверен в этом.