Откат коммитов в Git-репозитории
В процессе разработки иногда возникают критические ошибки, которые роняют стабильную версию и приходится восстанавливать работоспособность программного обеспечения из бэкапов. Процедура не сложная, но занимает достаточно длительное время. Поэтому в git интегрированы две функции, которые позволяют откатиться к предыдущему состоянию при помощи одной команды.
Откат в предыдущее состояние можно осуществить двумя способами:
1. Отменяет все коммиты после заданного, оставляя все изменения в рабочей директории.
git reset [ID коммита]
2. Сбрасывает всю историю вместе с состоянием рабочей директории до указанного коммита.
git reset --hard [ID коммита]
Практический пример
Перейдём в существующий репозиторий и выведем всю историю коммитов в текущей ветке при помощи команды git log.
Есть два коммита: первый (Create README.md) и второй (Edit README.md)
В нашем случае мы произведем откат к коммиту (Create README.md).
Первый способ отката позволяет сбросить историю до указанного коммита, но оставляет внесённые изменения в файлах.
Второй способ отката выполняет сброс всей истории и возвращает файлы к исходному состоянию.
Метки: Git.
Добрый день. Может ли git откатить все изменения в некотором определённом каталоге?
Т.е. вернуть в исходное состояние всё файлы некоторого определённого каталога?
Да, конечно, Git может откатить все изменения, и вернуть файлы в исходное состояние. Главное чтобы были сохранены ID нужных коммитов