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*не сработало.

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