Поиск…


Восстановление из потерянной фиксации

В случае, если вы вернулись назад к прошлому коммиту и потеряли новое коммитирование, вы можете восстановить потерянный коммит, выполнив

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}.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow