Возврат мастера к старому коммиту при сохранении коммитов
Вот как выглядит моя история коммитов (все было перенесено на Github, где хранится мое репо, но я единственный участник):
master
|
..-c100-c101-c102-c103-...-c150
Мне нужно вернуть master
к c100
коммит с сохранением оставшихся коммитов (то есть: c101-c102...-c150
Я не хочу их терять.
Так вот что я придумал:
git checkout -b new-branch # Set up branch containing all commits
git checkout master # Go back to master
git revert <c-100> # Revert master branch to c-100 commit
что (надеюсь) приведет к:
master
|
..-c100-c101-c102-c103-...-c150
|
new-branch
В идеале я бы сделал несколько коммитов для мастера, чтобы затем оставить его нетронутым, пока я не смогу слить новую ветку в него.
Это правильный способ сделать это?
добавлять
Ну просто попробовал и использую git revert <SHA>
не работает, он только отменяет этот коммит.
2 ответа
Это совершенно нормально. Вы также можете просто установить тег на кончике коммита, который вы хотите зафиксировать.
Ответ был (как указано здесь) использовать:
git revert --no-commit c-100..HEAD
git commit