Как выбрать и перенести диапазон коммитов с конца ветки master в ветку preview

git rev-list --reverse --topo-order master... | while read rev; do git checkout preview; git cherry-pick $rev || break; done


Команда git rev-list --reverse --topo-order master... выдаёт список коммитов, начиная от самого старого до самого нового в ветке master. Затем, эта информация передается в цикл while read rev; do git checkout preview; git cherry-pick $rev || break; done.

Внутри цикла, выполнение команды git checkout preview переключается на ветку preview. Затем, команда git cherry-pick $rev копирует каждый коммит из ветки master в ветку preview. Если cherry-pick выполнится успешно, то переходим к следующему коммиту. Если происходит ошибка в cherry-pick (к примеру, конфликт слияния), то цикл прерывается с помощью break.

Эта команда полезна, когда нужно перенести диапазон коммитов с конца ветки master в другую ветку preview. Альтернативным подходом может быть использование git rebase для переоснования ветки preview на master.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *