Как восстановить удаленные файлы в Git?

Как я могу настроить Git так, чтобы он сохранял версии файлов, вместо их удаления?
  • 15 июля 2024 г. 15:52
Ответы на вопрос 4
1. Для восстановления удаленных файлов в Git можно воспользоваться командой `git reset --hard HEAD@{1}`, которая вернет репозиторий к состоянию перед удалением. Также можно воспользоваться командой `git reflog`, чтобы найти хеш коммита, в котором был удален нужный файл, и выполнить `git checkout <хеш_коммита> -- <путь_к_удаленному_файлу>`, чтобы вернуть файл.

2. Для настройки Git таким образом, чтобы он сохранял версии файлов, можно использовать команду `git config --global alias.save "commit -a -m 'Save changes'"`, которая позволит сохранять все изменения в файлах в виде коммита с сообщением "Save changes". Таким образом, все версии файлов будут сохранены в истории коммитов.
может мне проще удалить Git?

Может вам проще прочесть наконец https://git-scm.com/book/ru/v2 ? Возможно дважды. Ну и в процессе чтения на ТЕСТОВОМ репозитории пробовать команды на практике.
Вам в повседневной жизни нужно несколько команд из всего разнообразия. Это учится за два дня.
Такое ощущение что ты до этого уже натворил дело в и пришел с криком - "спасите помогие". 
Толку от твоего лога мало потому что уже поздно как говорицца..

У тебя статус репы - "оторвана голова". Head detached. Вот надо из этого исходить.
Видимо ты делал перемотку на какой-то конкретный коммит. И что характерно
ты дальше зачем-то пытаешся сразу сделать новый коммит.

Почитай как выйти из состояния head detached в другое состояние в котором можно работать.

И если ты решил стать дерзким и смелым - то пожалуйста! тренируйся на учебном репо.! Ну на таком
который тебе будет не жалко выкинуть потом.
что я делаю не так я не понимаю
Вы работаете без branch'а, просто во временной ветке (detached head), и коммитите в неё же. Как только вы переключаетесь на другой бранч, Git вам пишет сообщение, что следует бы сохранить изменения в какое-то более надёжное место.

Изменения не пропали, они просто не видны. Вы можете достать ваш коммит в текущую ветку по его хешу:
git cherry-pick 53d05bd
Похожие вопросы