Мерзавец: Как вернуться все точно к состоянию предшествующей фиксации?

Если были фиксации и много изменений начиная с более ранней фиксации, есть ли простой способ вернуться все к точному состоянию той более ранней фиксации?

Если так, действительно ли возможно легко переключиться назад на текущее состояние, если я должен так требовать также?

Я понял, что эта старая фиксация является на самом деле корректной, и хотят поддержать все изменения с тех пор только для ссылки, но вся будущая работа будет основана на этой старой фиксации.

5
задан William Jones 8 March 2010 в 05:08
поделиться

3 ответа

Похоже, вы хотите поместить текущую работу в ветку:

git branch saved_work
git reset --hard previouscommit

Теперь ваша ветка saved_work содержит всё после previouscommit, а master перематывается на previouscommit.

6
ответ дан 14 December 2019 в 01:06
поделиться

Зафиксируйте текущие изменения:

git commit

Затем проверьте старый коммит:

git checkout yourcommit

Добавление опции -f уничтожит все локальные изменения.

1
ответ дан 14 December 2019 в 01:06
поделиться

Поскольку вы хотите вернуться в более раннее состояние:

git stash
git checkout -b new_branch <tree-ish>

Вышеупомянутое сохранит ваши незафиксированные изменения и позволит вам создать новую ветвь в конкретном коммите. Работайте так, как хотите, и позже, когда вы захотите вернуться в более раннее состояние:

git stash
git checkout earlier_branch
2
ответ дан 14 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: