История изменений и откат
9 февраля 2026
Оглавление
- Зачем нужна история изменений
- Просмотр истории
- Откат изменений
- Восстановление удалённых файлов
- Сравнение версий
- Работа с метками (tags)
- Отмена последнего коммита
- Восстановление предыдущих версий
Зачем нужна история изменений
История изменений позволяет отслеживать все модификации документации и при необходимости вернуться к любой предыдущей версии.
Преимущества ведения истории:
| Преимущество | Описание |
|---|---|
| 🔒 Безопасность | Всегда можно откатить неудачные изменения |
| 📊 Отслеживание | Видно кто, когда и что изменил |
| 🔍 Анализ | Можно проследить эволюцию документации |
| 🤝 Ответственность | Каждое изменение закреплено за автором |
| ⏪ Откат | Быстрое восстановление рабочих версий |
Как хранится история:
В Git история хранится в виде коммитов. Каждый коммит содержит:
- Уникальный идентификатор (SHA)
- Автора и дату
- Список изменённых файлов
- Описание изменений (commit message)
Просмотр истории
Через веб-интерфейс GitHub:
- Откройте файл на GitHub
- Нажмите кнопку "History" (история) или перейдите на вкладку "Commits"
- Просмотрите список всех коммитов для этого файла
Информация в списке коммитов:
| Элемент | Описание |
|---|---|
| ✅ | Зелёная галочка — коммит проверен |
| ❌ | Красный крестик — есть ошибки |
| SHA | Уникальный идентификатор коммита |
| Автор | Кто сделал изменения |
| Дата | Когда были внесены изменения |
| Сообщение | Описание изменений |
Фильтрация истории:
- По автору: нажмите на аватар автора
- По дате: используйте календарь
- По ветке: выберите ветку из выпадающего списка
Просмотр конкретной версии:
- Найдите нужный коммит в истории
- Нажмите на SHA коммита (например,
a1b2c3d) - Вы увидите состояние файла на этот момент
- Нажмите "View file" для просмотра
Откат изменений
Откат одного файла:
- Откройте историю файла
- Найдите нужный коммит
- Нажмите на иконку (...) справа от коммита
- Выберите "View file" → "Raw" (сырой файл)
- Скопируйте содержимое
- Вернитесь к файлу, нажмите "Edit"
- Вставьте старую версию
- Создайте коммит с описанием:
revert: Restore version from commit SHA
Откат через браузер (проще):
- Откройте файл на GitHub
- Перейдите на вкладку "Commits"
- Найдите нужный коммит
- Нажмите "Browse files" для просмотра состояния на тот момент
- Нажмите кнопку "History" и выберите более ранний коммит
- Используйте "Edit" для внесения старой версии
Откат всего репозитория:
Для полного отката используйте команды Git:
# Посмотреть историю
git log --oneline
# Откатить на конкретный коммит
git checkout <SHA-коммита> -- .
# Или создать новую ветку сold версией
git checkout -b revert-branch <SHA-коммита>
Восстановление удалённых файлов
Способ 1: Через историю
- Перейдите в папку, где был файл
- Нажмите "History"
- Найдите последний коммит, где файл ещё существовал
- Откройте файл
- Нажмите "Raw", скопируйте содержимое
- Создайте новый файл с тем же именем
- Сделайте коммит с описанием:
restore: Recover deleted file NAME
Способ 2: Через поиск
- Нажмите клавишу "." для открытия в Codeview
- Используйте Ctrl+Shift+F (Cmd+Shift+F) для поиска
- Введите название файла
- Перейдите на вкладку "Commits"
- Найдите коммит с удалением
- Нажмите "Browse files" для просмотра состояния до удаления
Восстановление нескольких файлов:
# Посмотреть удалённые файлы
git log --diff-filter=D --summary
# Восстановить конкретный файл
git checkout <SHA-коммита>^ -- путь/к/файлу
Сравнение версий
Просмотр изменений между коммитами:
- Откройте вкладку "Commits" репозитория
- Выберите два коммита (удерживайте Shift)
- Нажмите "Compare"
Просмотр изменений для одного файла:
- Откройте историю файла
- Выберите два коммита
- Нажмите "Compare revisions"
Что показывает сравнение:
| Символ | Значение |
|---|---|
| 🟢 | Зелёный — добавлено |
| 🔴 | Красный — удалено |
| 🔵 | Синий — изменено |
Просмотр diff в браузере:
- Откройте файл
- Перейдите на вкладку "Raw"
- Добавьте
?plain=1&format=patchк URL для скачивания diff
Работа с метками (tags)
Метки — это способ标记 важных версий документации (релизы,Major обновления).
Просмотр меток:
- Перейдите в репозиторий
- Нажмите "Releases" (вкладка справа от кода)
- Или перейдите по ссылке:
https://github.com/USER/REPO/tags
Создание метки (для мейнтейнеров):
# Создать легковесную метку
git tag v1.0.0
# Создать аннотированную метку
git tag -a v1.0.0 -m "Version 1.0.0"
# Отправить метку на GitHub
git push origin v1.0.0
Использование меток для отката:
- Откройте "Releases"
- Найдите нужную версию
- Нажмите "View code" для просмотра состояния на тот момент
- Используйте файлы этой версии
Отмена последнего коммита
Внимание: Это действие изменяет историю Git. Используйте с осторожностью.
Отмена коммита на GitHub:
GitHub не позволяет напрямую отменить коммит через веб-интерфейс. Используйте:
git reset --soft HEAD~1
Это отменит последний коммит, но сохранит изменения в рабочей директории.
Отмена с потерей изменений:
git reset --hard HEAD~1
Внимание: Эта команда удаляет все изменения в файлах!
Создание нового коммита с отменой:
git revert HEAD
Создаёт новый коммит, который отменяет изменения последнего коммита. Безопаснее для общей истории.
Восстановление предыдущих версий
Восстановление файла из конкретного коммита:
- Откройте историю файла
- Найдите нужный коммит
- Нажмите на SHA коммита
- Нажмите "View raw" для скачивания
- Скопируйте содержимое в текущую версию файла
Восстановление всего репозитория:
# Список всех коммитов
git log --all --graph --oneline
# Восстановить состояние на момент коммита
git checkout <SHA> -- .
# Или создать новую ветку
git checkout -b backup-branch <SHA>
Восстановление после слияния:
# Посмотреть все слияния
git log --merges
# Откатить слияние
git revert -m 1 <merge-commit-SHA>
Чек-лист для отката
| Шаг | Действие |
|---|---|
| 1 | Определите, какую версию нужно восстановить |
| 2 | Найдите соответствующий коммит в истории |
| 3 | Проверьте содержимое нужной версии |
| 4 | Скопируйте содержимое |
| 5 | Внесите изменения в текущий файл |
| 6 | Создайте коммит с описанием revert: ... |
| 7 | Проверьте изменения |
См. также: