2014-01-16 3 views
6

Я ищу для реализации модели разветвления gitflow на работе, как это было сначала изложено в http://nvie.com/posts/a-successful-git-branching-model/ или на сайте Atalssian по адресу https://www.atlassian.com/git/workflows#!workflow-gitflow. Меня что-то беспокоит, и я ищу разъяснения. Как только у нас будет филиал релиза и мы будем готовы его доставить в QA. Они проводят тестирование, и есть некоторые ответы и исправления ошибок, и, наконец, мы достигли точки, когда мы доставляем QA из отделения релиза, и они принимают его, поэтому он готов к выпуску. На данный момент я думаю, вы быМодель тегов релиза Gitflow создает дилемму

а) корабль точно такой же билд, который был принят к производству

б) маркировать код мерзавца репо, из которого была сделана эта сборка, которая будет указывать на конце ваш пресс-релиз филиал

с) делать другую бухгалтерию слить ветку выпуска обратно разработчик и мастер

Вместо gitflow предлагает делать с) выше и помечать мастер-ветвь. Это будет означать, что либо

а) сборки мы грузили на производство выше в а) не точно соответствует коду точки тегов на

или

б) или мы делаем новую сборку из недавно отмеченный главный филиал и корабль, но это будет означать, что мы отправляем не совсем точно, какое QA было проверено и принято, его новая сборка

Оба они кажутся плохими. Кто-нибудь сталкивался с подобными мыслями? И какое решение вы реализовали.

Спасибо.

ответ

3

Единственный способ получить доступ к master - это включение в ветвь освобождения или исправление. И исправления объединяются в ветви выпуска . Таким образом, когда вы выполняете слияние ветки выпуска в master, это должно быть тривиальное слияние и результат в том же дереве, что и в вашей ветке релиза.

Для этого можно сделать вывод: git diff release master (или, что то же самое, git diff master^2 master, т. Е. Разбить объединенную фиксацию на главной ветке с ее вторым родителем, являющимся концом вашей ветви релиза).

[1] Это специальный случай, который упоминается только в тексте, а не в заголовках, и не может быть реализован в сценариях автоматизации потока git.

+0

Спасибо, ваше объяснение разъяснило мне все. – user2456600

+0

Спасибо Мэтт. Я прочитал некоторые страшные вещи о «неизменяемых артефактах сборки» из потока git, но это похоже на не-вопрос (если вы придерживаетесь рабочего процесса). – vikingsteve

+1

Исправления AFAIK НЕ объединяются в ветви выпуска в стандартном потоке git. Что оставляет нас с проблемой там. См. Http://blog.shinetech.com/2015/01/07/git-flow-and-immutable-build-artifacts/, где именно эта проблема описана. – Kutzi

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