Каким образом в Git перенести отдельный коммит из одной ветки А в ветку Б? При этом коммит содержит файлы, которые были изменены в ветке Б.
Ответ
В Git есть специальная команда cherry-pick, которая позволяет вставлять в текущую ветку изменения из любого коммита. Работает она так:
git cherry-pick test
Пример выше применяет последний коммит из ветки test в текущую ветку.
При желании, можно перенести более одного коммита за один раз. Например:
git cherry-pick 8fe1498 mega_fix~3 v1.0.1
Из примера выше видно, что на коммит можно сослаться сразу несколькими способами:
Используя SHA хэш коммита (или его сокращенный вариант).
Используя имя ветки (можно использовать синтаксис ^
Более подробная информация о том, как сослаться на коммит есть в документации к Git
Стоит отметить, что в отличии от слияния (merge) при cherry-pick переносятся только изменения, а не сам коммит полностью. При этом, в целевой ветке создается новый коммит (коммиты) содержащий необходимые изменения.
Комментариев нет:
Отправить комментарий