Я хочу вернуть основную ветку в состояние 8 коммитов назад
Я только что понял, что внес утечку памяти где-то за последние 8 коммитов. Самое простое решение - вернуться к 8 коммитам назад, а затем аккуратно добавить изменения обратно. Какой самый простой способ сделать это?
Спасибо!
2 ответа
Взгляни на git bisect
, Это звучит как то, что вы ищете.
По сути, вы говорите ему известную хорошую точку и известную плохую точку в своей истории, а затем она помогает вам выполнять бинарный поиск до тех пор, пока не найдете оскорбительный коммит.
Вот руководство по его использованию: http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
Но, если вы не хотите делать это таким образом, создайте временную ветку, где вы находитесь прямо сейчас, и либо сделайте кучу git reset HEAD^
подняться на один коммит за раз или сделать git reset HEAD~8
а потом git cherry-pick <sha1>
за каждый последующий коммит между вами и вашим временным коммитом.
Клонируйте своего хозяина в другую ветку, затем на мастера git reset --hard
на коммит в вопросе. Тогда используйте git cherry pick
представить каждый возвращенный коммит из ветви резервных копий в ветку master и проверить. Если все в порядке, переходите к следующему коммиту и так далее.
Пожалуйста, прочтите инструкции, которые я изложил, прежде чем продолжить, если вы не знакомы с ними.:-)