Если вы уже клонировали удаленное хранилище и находитесь в ветке master
, вы можете сделать следующее:
Сначала сделайте второе:
git branch new-branch
Затем отменить изменения на мастере:
git revert <commit-id-you-want-reverted>
(повтор для каждого плохого коммита)
git push origin HEAD:master
Позже, черри возьми их обратно:
git cherry-pick <commits-from-new-branch>; git push origin HEAD:master
Я думаю это сработает, но я сам не пробовал. YMMV. Я думаю, что просто вытащить изменения обратно (без выбора вишни) не получится, потому что у них будут оригинальные идентификаторы коммитов, и git может знать, что им не нужно их извлекать ... опять же, возможно, с новым ГОЛОВА это будет работать. Попробуйте и увидите:)