Почему файлы в рабочем каталоге получают измененный статус при переключении между ветками Git? - PullRequest
2 голосов
/ 08 марта 2011

В моем локальном git-репозитории есть две ветви: master и anotherbranch.Когда я переключаюсь с master на anotherbranch с помощью git checkout anotherbranch и запускаю git status, я вижу измененные файлы.

Я отменяю эти изменения с помощью git reset HEAD, а затем git status не отображает их.Однако, когда я переключаюсь на master и потом переключаюсь на ветку, я снова вижу эти измененные файлы.

Не могли бы вы объяснить, что происходит?

Ответы [ 3 ]

3 голосов
/ 09 марта 2011

Вы бы случайно не установили autocrlf в значение , случайно?
Потому что это может изменить ваши файлы на кассе ...

См. Тему " core.autocrlf считается недоделанной ":

Тогда я не был фанатом поддержки core.autocrlf.
* Но я должен признать, что в то же время я превратился в откровенного не поклонника этой функции. Не потому, что его намерение неверно, а потому, что его реализация отвратительна.

Просто попробуйте git reset --hard или git stash, когда есть файлы с окончанием строки DOS и когда core.autocrlf не равен false.

А потом отчаяние.

1 голос
/ 09 марта 2011

Git reset --hard удалит модификацию из индекса. Попробуйте с этим дополнительным аргументом после этого все будет в порядке.

1 голос
/ 08 марта 2011

Если элементы не отслеживаются ни в одной из веток, файлы будут отображаться в git status как untracked и сохранятся при проверке

...