Git не удаляет файлы при переключении ветки - PullRequest
39 голосов
/ 08 октября 2010

Иногда при переключении веток с помощью Git (версия 1.7.2.1) кажется, что он не удаляет файлы / каталоги, которые я создал, специально для ветви, из которой я переключился.Он также не отображает его как неотслеживаемый при запуске git status или каких-либо записей журнала для этих файлов.

Это происходит только изредка, и я не уверен, почему или как его сбросить, чтобы файлы не принадлежали текущемуветка удаляется.Если я удаляю файлы вручную, они снова синхронизируются (как при удалении / восстановлении при переключении ветви).

Кто-нибудь сталкивался с этим?

Ответы [ 3 ]

62 голосов
/ 08 октября 2010

Я тоже это видел. Я обычно просто делаю git reset --hard, за которым следует git clean -f -d, и это обычно помогает.

Кажется, что это определенно происходит чаще всего, когда моя IDE блокирует один из файлов в ветви, с которой я переключаюсь.

5 голосов
/ 04 марта 2014

У меня была такая же проблема, потому что я не фиксировал файлы до переключения ветки!

Дополнительные объяснения здесь: Почему git продолжает показывать мои изменения, когда я переключаю ветки (измененные, добавленные, удаленные файлы) независимо от того, запускаю я git add или нет?

2 голосов
/ 03 марта 2018

Первый:

git reset --hard

Сброс хранилища до состояния последнего коммита.
Так как git обычно не удаляет файлы, он не отслеживает их, но может вызвать проблемы

Тогда:

git clean -d --dry-run

Посмотрите, какие файлы будут удалены. Мы не хотим терять ценную работу. и если это нормально:

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