Почему Git удалить некоторые файлы при переключении ветки?

У меня это случалось со мной часто. Я работаю над главной ветвью, и мне нужно протестировать плагин, поэтому я создаю новую ветку и проверяю ее. Я загружаю плагин в каталог проекта и проверяю его. Затем я вернусь к мастер-ветке и удалю ветвь, которую я создал.

В результате все файлы плагина остаются в каталоге проекта. Мне интересно, нормально ли это. Что мне нужно сделать, чтобы иметь бесшовный переход между ветвями?

Ответы

Ответ 1

git не удалит ненужные файлы из вашей рабочей копии, поэтому, если вы не добавили файлы плагина и не создали фиксацию в новой ветке git, вы не будете делать ничего с вашими файлами плагина.

если вы хотите удалить неиспользуемый файл из своего рабочего дерева, используйте git clean - будьте осторожны, он удалит любой необработанный файл с диска и нет способа восстановить его (без использования программного обеспечения для восстановления)

Ответ 2

попробуйте проверить -f

см. git --help checkout:

Продолжайте, даже если индекс или рабочее дерево отличаются от HEAD. Это используется для удаления локальных изменений.

Ответ 3

Если вы переключаетесь между ветвями, где структуры каталогов различны, и вы обнаружите, что остались некоторые артефакты, вам может потребоваться запустить:

git clean -df

Это приведет к "удалению" "силы". Вы потеряете ВСЕ необработанные файлы, я думаю, что это может быть в одном шаге от:

git reset --hard