›  ›  › Откат коммитов в Git-репозитории

Откат коммитов в Git-репозитории

В процессе разработки иногда возникают критические ошибки, которые роняют стабильную версию и приходится восстанавливать работоспособность программного обеспечения из бэкапов. Процедура не сложная, но занимает достаточно длительное время. Поэтому в git интегрированы две функции, которые позволяют откатиться к предыдущему состоянию при помощи одной команды.

Откат в предыдущее состояние можно осуществить двумя способами:

1. Отменяет все коммиты после заданного, оставляя все изменения в рабочей директории.

git reset [ID коммита]

2. Сбрасывает всю историю вместе с состоянием рабочей директории до указанного коммита.

git reset --hard [ID коммита]

Практический пример

Перейдём в существующий репозиторий и выведем всю историю коммитов в текущей ветке при помощи команды git log.

Есть два коммита: первый (Create README.md) и второй (Edit README.md)

В нашем случае мы произведем откат к коммиту (Create README.md).

Вывод на экран всех коммитов в текущей ветке

Первый способ отката позволяет сбросить историю до указанного коммита, но оставляет внесённые изменения в файлах.

Откат коммита в существующем Git-репозитории

Второй способ отката выполняет сброс всей истории и возвращает файлы к исходному состоянию.

Откат коммита в существующем Git-репозитории

Метки: .

Записи по теме

Комментарии к записи

  1. Vladimir:

    Добрый день. Может ли git откатить все изменения в некотором определённом каталоге?
    Т.е. вернуть в исходное состояние всё файлы некоторого определённого каталога?

    Ответить
    • Да, конечно, Git может откатить все изменения, и вернуть файлы в исходное состояние. Главное чтобы были сохранены ID нужных коммитов

      Ответить

Добавить комментарий

Ваш адрес email не будет опубликован.