Git статус неправильно говорит, что файлы удалены

Я клонировал репозиторий и отредактировал в нем ровно один файл, tip.php, а затем добавил его с помощью git add, Но когда я в следующий раз git status Я получаю следующее:

$ git status
On branch removeRatings
Changes to be committed:
 (use "git reset HEAD <file>..." to unstage)

 deleted: .htaccess
 deleted: COPYRIGHT.txt
 modified: tip.php

Хотя ни .htaccess или же COPYRIGHT.txt был удален, так как я вижу их прямо в каталоге. У кого-нибудь есть причина, почему это произошло? Я использую Git Bash на Windows 8.

1 ответ

Это сообщение означает, что файлы (или удаления файлов) были добавлены на сцену.

Запустите следующие команды.

 git add --all
 git status

Теперь вы должны увидеть, были ли они перемещены / переименованы или просто удалены. Я полагаю, что они были каким-то образом перемещены, возможно, вашей IDE.

git reset .htaccess
git reset COPYRIGHT.txt
git status

Теперь статус должен быть понятен и показывать только ваш tip.php, Но если вы теперь видите .htaccess а также COPYRIGHT.txt` в неотслеживаемых файлах, то эти файлы были изменены с момента последнего коммита.

Если вы уверены, что не изменили или не удалили их и не хотите сохранять изменения:

git reset --hard .htaccess
git reset --hard COPYRIGHT.txt

Это вернет эти файлы в состояние последнего коммита. Будь осторожен и не беги git reset --hard без аргумента, так как это полностью удалит ваши незафиксированные изменения.

Другие вопросы по тегам