>_ IzzyLab

Практическое задание

Перенеси один коммит через cherry-pick

сложно

В репозитории /root/repo есть ветка feature с двумя коммитами: add other (файл other.txt) и add hotfix (файл hotfix.txt). Текущая ветка — main. Перенеси в main только коммит add hotfix, не сливая всю ветку: в main должен появиться hotfix.txt, но other.txt появиться не должен. Оставайся на ветке main.

Что потренируешь:
  • git cherry-pick
  • перенос коммита
  • хеш коммита
  • ветки

Разбор темы

Иногда из чужой ветки нужен не полный merge, а лишь один конкретный коммит — например, срочный фикс. git cherry-pick берёт указанный по хешу коммит и накладывает его дельту поверх текущей ветки, создавая здесь новый коммит с тем же содержимым, но другим родителем. Важно не переключаться с целевой ветки и передать хеш именно нужного коммита, найдя его в истории источника.

Что проверяется

  1. текущая ветка — main
  2. hotfix.txt перенесён в main
  3. other.txt не попал в main

Как это выглядит