2016-10-26 11 views
0

Я установка Gitlab, и я пытаюсь следовать рабочему упомянутым здесь: Gitlab Production branch flow.Как объединить предыдущим совершает

Теперь мое хранилище выглядит следующим образом:

enter image description here

и я было предложено объединить только commit A филиала master с филиалом production. Каков наилучший способ сделать это?

Должен ли я использовать команду git cherry-pick? Я прочитал, что я потеряю историю версий с cherry-pick.

Если у меня есть такая ситуация, когда мне нужно продолжать слияние одного из предыдущих коммитов с master веткой на ветку production, как мне с этим справиться?

Я застрял в этом. Любая помощь приветствуется.

Спасибо,

Обновление: От главного отделения я могу толкать только коммиты: git push <remotename> <commit SHA>:<remotebranchname>

Найдено ответ здесь: How can I push a specific commit to a remote, and not previous commits?

+0

Есть ли что-нибудь между A и X? – max630

+0

Ничего. x - последняя фиксация, объединенная с производственной ветвью и развернутая на производственном сервере. Фактически в моем хранилище commit A представляет собой небольшую функцию. Он был завершен, но не получил толчок к производству, и я продолжил работу над другими функциями. Теперь я хочу только подтолкнуть функцию A к производству. –

+0

, тогда вы можете просто объединить фиксацию A. Собственно, данный ответ предлагает именно это. – max630

ответ

1

Вишневый сбор является жизнеспособным, если вы конкретно хотите изменения, внесенные в выберите совершает. Это наиболее выгодно, когда фиксации, которые необходимо применить, не выполнялись в последовательном порядке. Лично я бы не рекомендовал вам делать это в мастер-классах, поскольку это не хорошая стратегия долгосрочного выпуска.

Мой совет основан на потоке git, который, как я знаю, несколько отличается от подхода GitLab.

Если это фактические выпуски, рассмотрите следующий рабочий процесс релиза, в котором в этом случае вы создаете ветвь освобождения при фиксации A, а затем объединяетесь в производство.

Если это исправление/исправления, требующие некоторых коммитов, но не все (требующие выбора вишни), вы можете создать ветвь исправления из своей производственной ветви, сначала выберите ветку, которая требуется для этой ветви, а затем при тестировании завершенное слияние, которое возвращается в производство. Если в этой ветке применяются какие-либо дополнительные изменения или фиксации, их необходимо будет объединить обратно в вашу ветку разработки.