Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
prog:git-start [2022/11/19 15:56] Alexey Leonchik |
prog:git-start [2022/11/20 15:14] (текущий) Alexey Leonchik |
||
---|---|---|---|
Строка 661: | Строка 661: | ||
1 file changed, 1 insertion(+) | 1 file changed, 1 insertion(+) | ||
</ | </ | ||
+ | |||
+ | |||
+ | Перейти на нужный коммит. Клонируем репозиторий как обычно. | ||
+ | |||
+ | < | ||
+ | git clone <url> | ||
+ | </ | ||
+ | |||
+ | В истории (на сайте или используя git log) находим нужный коммит или тег и переходим на него | ||
+ | |||
+ | < | ||
+ | git checkout <хеш коммита или тег> | ||
+ | </ | ||
+ | |||
+ | Можно указать не полный хеш а только уникальную его часть. | ||
+ | |||
+ | Опционально. Делаем ветку и переходим на нее | ||
+ | |||
+ | < | ||
+ | git checkout -b my-fork | ||
+ | </ | ||
+ | |||
+ | Удалить последний коммит. | ||
+ | |||
+ | Для отмены последнего коммита, | ||
+ | |||
+ | < | ||
+ | git reset --soft HEAD^ | ||
+ | </ | ||
+ | |||
+ | При этом изменённый код удалён не будет (будет зелёным цветом в git status). Вы можете подправить код и повторить коммит. | ||
+ | |||
+ | Это работает, | ||
+ | |||
+ | < | ||
+ | git revert sha1 | ||
+ | </ | ||
+ | |||
+ | --soft - отменит коммит, | ||
+ | --hard - отменит коммит и удалит изменения, | ||
+ | |||
+ | < | ||
+ | git reset --soft HEAD~2 | ||
+ | </ | ||
+ | |||
+ | отменит 2 последних коммита, | ||
+ | |||
+ | Откатиться назад на 2 коммита: | ||
+ | |||
+ | < | ||
+ | git reset --hard HEAD~2 | ||
+ | </ | ||
+ | |||
+ | Другими словами, | ||