Я хочу вернуть основную ветку в состояние 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 и проверить. Если все в порядке, переходите к следующему коммиту и так далее.

Пожалуйста, прочтите инструкции, которые я изложил, прежде чем продолжить, если вы не знакомы с ними.:-)

Другие вопросы по тегам