Git
Восстановление
Поиск…
Восстановление из потерянной фиксации
В случае, если вы вернулись назад к прошлому коммиту и потеряли новое коммитирование, вы можете восстановить потерянный коммит, выполнив
git reflog
Затем найдите свой потерянный коммит и верните его обратно, сделав
git reset HEAD --hard <sha1-of-commit>
Восстановить удаленный файл после фиксации
Если вы случайно совершили удаление файла, а затем поняли, что вам это нужно.
Сначала найдите идентификатор фиксации, который удалил ваш файл.
git log --diff-filter=D --summary
Дает вам отсортированное резюме коммитов, которые удалили файлы.
Затем перейдите к восстановлению файла на
git checkout 81eeccf~1 <your-lost-file-name>
(Замените 81eeccf на свой собственный код фиксации)
Восстановить файл до предыдущей версии
Чтобы восстановить файл в предыдущей версии, вы можете использовать reset
.
git reset <sha1-of-commit> <file-name>
Если вы уже внесли локальные изменения в файл (который вам не нужен!), Вы также можете использовать опцию --hard
Восстановление удаленной ветви
Чтобы восстановить удаленную ветку, вам нужно найти фиксацию, которая была главой удаленной ветви, запустив
git reflog
Затем вы можете воссоздать ветвь, запустив
git checkout -b <branch-name> <sha1-of-commit>
Вы не сможете восстановить удаленные ветки, если git's garbage collector удаляет оборванные коммиты - те, у кого нет ссылок. Всегда сохраняйте резервную копию своего репозитория, особенно когда вы работаете в небольшом командном / проприетарном проекте
Восстановление после сброса
С Git вы можете (почти) всегда поворачивать часы назад
Не бойтесь экспериментировать с командами, которые переписывают историю *. Git не удаляет ваши фиксации в течение 90 дней по умолчанию, и за это время вы можете легко восстановить их из reflog:
$ git reset @~3 # go back 3 commits
$ git reflog
c4f708b HEAD@{0}: reset: moving to @~3
2c52489 HEAD@{1}: commit: more changes
4a5246d HEAD@{2}: commit: make important changes
e8571e4 HEAD@{3}: commit: make some changes
... earlier commits ...
$ git reset 2c52489
... and you're back where you started
* Следите за варианты , как --hard
и --force
, хотя - они могут отказаться от данных.
* Также избегайте переписывать историю в любых филиалах, с которыми вы работаете.
Восстановление от git stash
Чтобы получить последний тайник после запуска git stash, используйте
git stash apply
Чтобы просмотреть список ваших кошельков, используйте
git stash list
Вы получите список, который выглядит примерно так:
stash@{0}: WIP on master: 67a4e01 Merge tests into develop
stash@{1}: WIP on master: 70f0d95 Add user role to localStorage on user login
Выберите другой git stash для восстановления с номером, который отображается для кошелька, который вы хотите
git stash apply stash@{2}
Вы также можете выбрать «git stash pop», он работает так же, как «git stash apply», как ..
git stash pop
или же
git stash pop stash@{2}
Разница в git stash применяется и git stash pop ...
git stash pop : - данные stash будут удалены из стека списка закладок.
Пример: -
git stash list
Вы получите список, который выглядит примерно так:
stash@{0}: WIP on master: 67a4e01 Merge tests into develop
stash@{1}: WIP on master: 70f0d95 Add user role to localStorage on user login
Теперь данные поп-штифта с использованием команды
git stash pop
Снова проверьте список закладок
git stash list
Вы получите список, который выглядит примерно так:
stash@{0}: WIP on master: 70f0d95 Add user role to localStorage on user login
Вы можете увидеть, что один файл stash удаляется (выталкивается) из списка закладок, а stash @ {1} становится stash @ {0}.