Git говорит: "Следующие неиспользуемые рабочие файлы дерева будут перезаписаны проверкой" при переключении ветвей

У меня есть ветвь с именем разработка "в удаленном основном репо hub", и у меня есть контрольная копия ветки разработки в моем локальном репозитории git пользователь poomalai). Я удалил (git rm --cached) файл (Mydirectory/myfile.php) из другой копии проверки (пользователь raj) и нажал на репозиторий концентратора.

Теперь, когда я вытягиваю изменения с концентратора на "poomalai", он работал нормально, и я получил сообщение о фиксации удаления файла в журнале git. Я добавил файл в файл .gitignore в пользовательский poomalai. Теперь я создал файл в своем локальном репо (пользователь poomalai).

Теперь файл больше не находится в элементе управления версиями, и изменения в файле не отслеживаются git.

Но когда я пытаюсь переключить ветвь на другую, он говорит следующее

error: The following untracked working tree files would be overwritten by checkout:
    Mydirectory/myfile.php
Please move or remove them before you can switch branches.
Aborting

Когда я удаляю файл с помощью команды linux rm, я могу переключать ветки. Если я снова создам файл, он снова выдаст ту же ошибку. Мне нужно, чтобы файл находился в каталоге, но его не следует отслеживать с помощью git.

Я пробовал следующие команды:

git rm ----> says fatal: pathspec 'diamonds_webservice/dbconnect.php' did not match any files

git gc
git reset --hard HEAD
git pull

Ничего не работает. Пожалуйста, помогите мне

Ответ 1

Это может быть возможно, потому что файл добавляется в репо в "целевой ветке", убедитесь, что файл git rm 'ed из "целевой ветки", а затем попробуйте переключить ветки.

Как сказал Чарльз, git делает это для обеспечения целостности данных, так что при переключении каталогов ничего не теряется.

Ответ 2

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

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

Ответ 3

Единственное, что сработало для меня:

в андроид-студии - перейти в журнал событий - нажмите ссылку "просмотреть их". - затем вручную удалите панель "минус", чтобы удалить файлы во всплывающем окне.

(потому что это было всего 4-5 файлов, я сначала переименовал файлы) Я должен был сделать это дважды, поскольку некоторые элементы не были удалены с первой попытки...