Git отменить удаленные файлы
Я новичок в Git. У меня есть файлы извлечения с пульта. Мне пришлось удалить несколько файлов из репозитория git. Вместо того чтобы делать git rm
Команда, которую я выпустил Unix rm -rf folder
команда. Мне нужно отменить команду удаления, а затем выполнить git rm
команда. Как вернуться к последнему коду?
Примечание: я еще не передал поставленные файлы. git status
список файлов, удаленных в следующем формате:
# deleted: i18n/angular-locale_sl.js
# deleted: i18n/angular-locale_in.js
5 ответов
Мне нужно отменить команду удаления, а затем выполнить команду git rm. Как вернуться к последнему коду?
Просто сделайте (так как вы ничего не совершали):
cd /root/of/your/repo
git checkout HEAD -- .
Это восстановит рабочее дерево в индексе.
(A git reset --hard
тоже должно работать, но здесь не нужно)
Но вы также можете зарегистрировать это удаление непосредственно в индексе:
git add -A .
Смотрите "В чем разница между git add .
а также git add -u
? "
Если вы поставили удаление, сначала удалите его:
git reset HEAD path/to/deleted/file
Затем восстановите файл:
git checkout path/to/deleted/file
Восстановить git delete на вашем локальном компьютере
Вы хотите отменить git rm или rm, а затем git add:
Восстановите файл в индексе:
git reset -- <file>
после этого проверить из индекса
git checkout -- <file>
например:
git reset -- src/main/java/de/foo/bar.java
git checkout -- src/main/java/de/foo/bar.java
В дополнение к ответу @VonC,
Мне пришлось удалить несколько файлов из репозитория git. Вместо выполнения команды git rm я выполнил команду unix rm -rf folder
Единственная разница между этими двумя вариантами заключается в том, что git rm
также можете удалить файлы из вашего индекса git. Однако, поскольку вы никогда не добавляли их в индекс для начала, нет особой причины для использования git rm
и вам не нужно отменять равнину /bin/rm
,
Я удалил папку, не зафиксировав изменения. Я смог восстановить папку, просто используя
git recover
git recover name_of_deleted_folder
Пришлось писать полное имя, т.
partial_name_of_deleted_folder*
не сработало.