Git checkout не выбрасывает мои изменения - PullRequest
4 голосов
/ 25 августа 2010

Я использую 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,но я не уверен в этом.

1 Ответ

4 голосов
/ 25 августа 2010

Любой файл извлечения, в результате которого содержимое (в «рабочем каталоге», т. Е. Непосредственно на вашем диске в виде файла) отличается от индекса, означает, что какое-то «автоматическое преобразование содержимого» только что имело место.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...