📝 Задания для закрепления
⚡ Задания
Задание из лекции: Дополнить коммит новыми файлами (пропущенные CSS-файлы) и поменять сообщение — используйте git commit --amend.
Задание из лекции (git commit --amend): Дополнить коммит новыми файлами (пропущенные CSS файлы) и поменять комментарий.
Задание 1: git commit --amend
Практика исправления последнего коммита.
- Инициализируйте репозиторий:
git init task19 - Создайте файл
index.htmlи закоммитьте:git add index.html && git commit -m "Add page" - Создайте файл
style.css(забытый файл) - Добавьте его к предыдущему коммиту и исправьте сообщение:
git add style.css
git commit --amend -m "Add page and styles" - Проверьте командой
git show HEAD --name-only— в коммите должны быть оба файла.
Задание 2: merge и rebase
Сравнение результата merge и rebase.
- Создайте репозиторий с парой коммитов на main
- Создайте ветку
feature-aи сделайте на ней 2 коммита - Параллельно добавьте коммит на main (имитирует работу команды)
- Попробуйте
git merge feature-a— посмотрите результат черезgit log --graph - Сбросьте командой
git reset --hard HEAD~1(вернёмся до merge) — аккуратно! - Попробуйте
git rebaseна ветке feature-a — посмотрите на линейную историю
Задание 3: git revert vs git reset
Практика безопасной отмены коммитов.
- Создайте репозиторий с тремя коммитами: A, B (проблемный), C
- Попробуйте отменить коммит B через
git revert <hash-of-B> - Проверьте историю — коммит B всё ещё есть, но добавился коммит «Revert B»
- Сравните с
git reset --hard— как изменится история?