git говорит: "Следующие неотслеживаемые файлы рабочего дерева будут перезаписаны извлечением" при переключении веток
У меня есть ветка под названием develop
в удаленном репо hub
и у меня есть контрольная копия develop
ветка в моем локальном репозитории git (пользователь poomalai
).
Я удалила (git rm --cached
) файл (Mydirectory/myfile.php
) из другой кассовой копии (пользователь raj
), и подтолкнул к хранилищу хаба.
Теперь, когда я вытягиваю изменения из хаба в (пользователь poomalai
), он работает нормально, и у меня есть сообщение коммита file deletion
в журнале git.
Я добавил файл в .gitignore
файл в (пользователь poomalai
).
Теперь я создал файл в моем локальном репо (пользователь poomalai
).
Теперь файл больше не находится в управлении версиями, и изменения в файле не отслеживаются git.
Но когда я пытаюсь переключиться на какую-то другую ветку, он говорит следующее:
ошибка: следующие неотслеживаемые файлы рабочего дерева будут перезаписаны извлечением:
Mydirectory/myfile.php
Пожалуйста, переместите или удалите их, прежде чем вы сможете переключать ветви.
Aborting
Когда я удаляю файл с помощью Linux rm
Команда, я могу переключать ветви.
Если я создаю файл снова, он снова выдает ту же ошибку.
Мне нужно, чтобы файл находился в каталоге, но он не должен отслеживаться git.
Я попробовал следующие команды:
git rm
Неустранимый: pathspec 'diamonds_webservice/dbconnect.php' не соответствует ни одному файлу
git gc
git reset --hard HEAD
git pull
Ничего не работает Пожалуйста, кто-нибудь, помогите мне
3 ответа
Это может быть возможно, потому что файл добавлен в репозиторий в "целевой ветви".
Убедитесь, что файл git rm
'из целевой ветви, а затем попробуйте переключить ветви.
Как сказал @CharlesB, git делает это для обеспечения целостности данных, чтобы при переключении каталогов ничего не терялось.
Хорошо, что git предупреждает вас об этом, потому что переключение на ветку, в которой не удален файл,... удалит его.
Таким образом, вы делаете это правильно: удалите (или переименуйте) его перед проверкой ветви, в которой он удален.
Так что просто git заботится о ваших данных перед их перезаписью.
Так как он не версионный, вы не сможете восстановить его после проверки.
Единственное, что сработало для меня:
в андроид студии - зайдите в журнал событий - нажмите на ссылку "посмотреть их". - затем вручную нажмите минус, чтобы удалить файлы во всплывающем окне.
(потому что это было только 4-5 файлов, я сначала переименовал файлы), мне пришлось сделать это дважды, так как некоторые элементы не были удалены с первой попытки...