2016-08-16 6 views
1

У меня есть две ветки master и release в gitlab.Как выполнить сквош при утверждении запроса на слияние, gitlab

В ветке освобождения, я надеюсь, что это будет только сообщение с сообщением типа: v0.1.0, v0.1.1.

Say после того как я закончил развитое v0.1.0, у меня есть несколько полнометражных и BUGFIX фиксаций в master говорит

c1. bugfix1 
c2. feature1 
c3. feature2 

создаст запрос слияния в gitlab от master к release, но я надеюсь сделать эти три фиксируется в один v0.1.0 и сквош c1 c2 c3.

Теперь в моих существующих установок, у меня будет 4 сообщения фиксации:

Merge breanch 'master' into release 
c1 
c2 
c3 

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

v0.1.0 

Обратите внимание, что эти две ветви являются оборонными ветвями, и, если возможно, я надеюсь, что будет NO Команда git на release и master ветке, и только операции gitlab

ответ

0

Слияние совершают является только один коммит, но, кажется, вы попали в ловушку «быстро вперед». То есть, на вашем слиянии, git решил, что master является частью прямой генерации release, а затем просто «быстро перенаправил» ваши изменения поверх release. Тогда это похоже на то, что вы описываете.

Чтобы решить эту проблему, добавьте параметр --no-ff на вашем слияния:

git checkout release 
git merge --no-ff master 

Вы, то есть ровно один совершить на вашем release отрасли; вы можете отредактировать сообщение фиксации, чтобы он содержал вашу версию выпуска.

0
git checkout release 
git merge --squash master 
git commit -m "Suitable Message of your choice" 

Это займет все коммиты из master ветви, раздавить их в 1 совершить, а затем объединить его с release отрасли.

Смежные вопросы