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