Существует как минимум пара вариантов решения этой проблемы:
Вариант 1 - Объединение объектов по одной
Слияние ветвей объекта по отдельности непосредственно с мастером (игнорировать проявление при слиянии с мастером) Этот подход должен работать независимо от того, каков ваш процесс. Тем не менее, вы рискуете, что разработка опережает мастера и содержит непроверенные изменения. Вы можете смягчить это, отменив неудачные изменения в разработке или заморозив периоды, когда разработка должна достичь достойного выпуска.
Как указал mjuarez, вы можете альтернативно использовать cherry-pick для достижения аналогичного результата - но только если ваши функции могут быть ограничены отдельными коммитами.
Вариант 2 - объединить сериализованные функции
Если ваши функции проверяются или принимаются последовательно, то есть в том же порядке, в котором они объединяются для разработки, вы можете объединиться для создания конкретного коммита из ветви разработки, в которой содержатся необходимые изменения.
Например, если развертка содержит:
- функция с хешем aaa (самая старая)
- функция b с хэшем, bbb
- функция c с хэшем ccc (новейшая версия) = развернуть HEAD
... и вам нужно только проверить / продвинуть функции a и b для выпуска в master, затем вы можете объединить коммит bbb в master.
Самым большим преимуществом этого является то, что вы не рискуете накапливать непроверенные изменения в разработке.
Другое
Помимо этого, вы можете рассмотреть и другие подходы ветвления.
https://nvie.com/posts/a-successful-git-branching-model/
https://git -scm.com / книга / а / v2 / GIT-ветвящийся ветвящийся Workflows