📝 Задания для закрепления

К оглавлению урока

⚡ Задания

Задание из лекции: Дополнить коммит новыми файлами (пропущенные CSS-файлы) и поменять сообщение — используйте git commit --amend.

Задание из лекции (git commit --amend): Дополнить коммит новыми файлами (пропущенные CSS файлы) и поменять комментарий.

Задание 1: git commit --amend

Практика исправления последнего коммита.

  1. Инициализируйте репозиторий: git init task19
  2. Создайте файл index.html и закоммитьте: git add index.html && git commit -m "Add page"
  3. Создайте файл style.css (забытый файл)
  4. Добавьте его к предыдущему коммиту и исправьте сообщение:
    git add style.css
    git commit --amend -m "Add page and styles"
  5. Проверьте командой git show HEAD --name-only — в коммите должны быть оба файла.

Задание 2: merge и rebase

Сравнение результата merge и rebase.

  1. Создайте репозиторий с парой коммитов на main
  2. Создайте ветку feature-a и сделайте на ней 2 коммита
  3. Параллельно добавьте коммит на main (имитирует работу команды)
  4. Попробуйте git merge feature-a — посмотрите результат через git log --graph
  5. Сбросьте командой git reset --hard HEAD~1 (вернёмся до merge) — аккуратно!
  6. Попробуйте git rebase на ветке feature-a — посмотрите на линейную историю

Задание 3: git revert vs git reset

Практика безопасной отмены коммитов.

  1. Создайте репозиторий с тремя коммитами: A, B (проблемный), C
  2. Попробуйте отменить коммит B через git revert <hash-of-B>
  3. Проверьте историю — коммит B всё ещё есть, но добавился коммит «Revert B»
  4. Сравните с git reset --hard — как изменится история?

→ Посмотреть решения