git revert Откатить состояние репозитория к указанному коммиту -- разные варианты, диапазон, список коммитов

git revert -- откатывает коммит путём создания нового, изменения в котором обратны тому коммиту, который нужно отменить. Таким образом откат будет виден в истории как очередной коммит.

Примеры git revert -- все файлы

git revert умеет отменять не только выбранный коммит, но поддерживает и более сложные варианты:

  • Откатываем конкретные коммиты перечисляя их хэши через пробел (в предельном случае таким способом можно откатить 1 коммит), например, откатить список коммитов (вы можете получить их хэши в истории изменений):
     git revert a867b4af 25eee4ca 0766c053
  • Можно откатывать используя смешения от текущего состояния HEAD (как мы рассматривали тут) -- например диапазон отностительно HEAD:
    git revert HEAD~2..HEAD
  • Диапазон с использованием хэшей для откатываемых коммитов (всё между ними по времени -- включительно), можно задать такой вроде:
    git revert a867b4af..0766c053
  • Откатываем merge commit -- для этого нужно выполнить комадну формата:
    git revert -m 1 <merge_commit_sha>

    (проверьте какой именно из родителей мердж-коммита является "первым", м.б. вам нужен 2-ой)

    Убедитесь, что это это стоит делать, если речь идёт о развороте на сервере тех изменений, что сейчас не нужны, но понадобятся в будущем, то просто выполните чекаут нужного, более старого коммита.

"revert" для одного конкретного файла к коммиту

Для этого используют чекаут

Key Words for FKN + antitotal forum (CS VSU):