2017-01-28 2 views
2

У меня есть несколько a, b, c, d, e, сделанных и опубликованных. Нет, я заметил ошибки и хочу сбросить весь мой проект на b. Поскольку он опубликован, я читал, что мне не следует использовать reset для повторной записи истории. Возврат, с другой стороны, возвращает только отдельные фиксации.Git, верните или сбросьте к определенному фиксации

Есть ли способ вернуть все фиксации с момента фиксации b t один раз?

+1

Возможный дубликат [Как восстановить Git репозиторий предыдущей фиксации?] (Http://stackoverflow.com/questions/4114095/how -to-revert-git-repository-to-a-previous-commit) – jopasserat

+0

Нет ничего плохого в использовании 'reset -hard' для перезаписи истории; Я делаю это много. Вам просто нужно быть абсолютно уверенным, что нет никаких последствий для потери вашей работы. – Pockets

ответ

5

Вы можете вернуть диапазон фиксации на git revert <from-commit>..<to-commit>.

$ git revert -n c..HEAD 

Это Отменяет изменения, сделанные фиксаций из c (включительно) до HEAD (включительно), но не создает каких-либо совершить с изменениями, вновь стали. Возврат только изменяет рабочее дерево и индекс.

Тогда вам необходимо совершить:

$ git commit -m 'Revert commit from c to HEAD' 

See More

Смежные вопросы