2017-02-17 8 views
2

Я использую gitflow рабочий процесс. От master я создал ветку hotfix и сделал некоторые исправления. Прежде чем слить обратно в master, я решил, что сначала слияние с develop, просто чтобы увидеть изменения в стадии постановки, а затем слить, чтобы освоить.Как сделать ветку от фиксации до слияния?

Said сливаясь develop затруднительного был конфликт, который я решить путем слияния развиваться в hotfix отрасли (да, позор мне), и я просто понял, что я не могу объединить, что master, по мере развития имеют неустойчивые вещи еще.

Как создать ветку от фиксации, предшествующей слиянию, с помощью разработки?

PS: Я объединил, используя git merge develop (не использовал флаг no-ff).

+0

Вам нужна ветка или вам просто нужно объединить эту фиксацию в мастер? –

+0

Ветвь, потому что наше правило хранилища не является прямым нажатием на master, всегда PR. –

ответ

2

Я предполагаю, что ваша структура выглядит следующим образом:

A - B - C  <- master 
\ \ 
    \ \- F - G <- hotfix 
    \  /
    \-D - E  <- dev 

Вы хотели бы, чтобы слить коммит, представленное F обратно в master, который сейчас находится на C.

Вы можете создать отдельную ветку, чтобы сделать это, как вы спрашиваете:

git checkout hotfix^ -b unmerged-hotfix 

В этом случае hotfix^ является обязательство перед текущим кончике hotfix. Новая ветвь будет называться unmerged-hotfix.

Если с другой стороны, вы просто хотите, чтобы слиться непосредственно в мастер, не делая новую ветку, вы можете сделать

git checkout master 
git merge hotfix^ 

Это позволит объединить фиксации до кончика hotfix в мастер.

+0

Отличное объяснение. В моем случае я хотел новую ветку, потому что мы не можем нажать на master (правило репо), поэтому мы всегда открываем PR. Теперь предположим, что я сделал 'H' и' I' фиксацию на 'hotfix' после слияния' develop'. Как бы достичь тех же результатов, но ** с ** 'H' и' I' на 'master'? (в основном, каждый фиксатор, за исключением слияния: 'F',' H', 'I', но не' G') –

+0

@ChristopherFrancisco. Я бы сделал интерактивную перезагрузку или вишневый подбор. Это полностью выходит за рамки вашего текущего вопроса, поэтому я хотел бы продолжить и спросить другого. Если вам нужен PR, я бы в основном отделился от 'F', как описано здесь, затем вишневый выбор или rebase' H' и 'I' на это. –

+0

@ChristopherFrancisco Альтернативно, вы можете отредактировать свое сообщение с расширенным вопросом как часть более подробного объяснения того, что вы хотите сделать, и я буду соответствующим образом расширять свой ответ. Учитывая вопрос, который у вас есть, я не думаю, что это сделает его слишком широким или что-то еще. –