2016-09-20 3 views
3

Я прочитал несколько статей о лучших методах использования Git. Есть много типов мерзавца ветви (например: [1], [2]):В чем разница между типами ветвей разработки и типа?

+ Master 
+ Develop 
+ Feature 
+ Bug 
+ Proof of concept 
+ Release 
+ Hotfix 

В чем разница между типами Master против Release?

В чем разница между типами Feature и Develop?

[1] http://nvie.com/posts/a-successful-git-branching-model/

[2] http://developer.exoplatform.org/#id-branching-model

+0

Эти просто кажутся произвольными, хотя и распространенными именами, которые даны ветвям Гита. Как правило, «master» является основной ветвью («trunk» в SVN), к которой все остальные ветви в конечном итоге объединяются. Что касается других имен, кажется довольно понятным, какую цель они служат. –

ответ

1

Разница между master и release является то, что master ветвь, что ваши клиенты/пользователи используют. Это филиал, фактически установленный или проданный.

Во многих командах ветка master (обычно также называемая master) также является филиалом release. Но это не всегда так. В крупных компаниях или компаниях с отдельным отделом/отделом тестирования или отделом контроля качества ведущий филиал является филиалом, который продается клиентам, но ветвь выпуска является тестируемой. Обратите внимание, что для некоторых проектов, выполняющих полный тест, может потребоваться неделя или больше, поэтому имеет смысл иметь ветку, которую тестировщики могут тестировать, но стабильны (разработчики не постоянно нажимают обновления).

Разница между feature и develop исходит из тех же соображений. Филиал develop (обычно называется develop или dev) является ветвью стабильного разработчика. В традиционном программном обеспечении для управления версиями подразделение разработки - это ваш сервер репо. Это филиал, который есть у всех разработчиков. Это филиал, с которого вы начинаете разработку.

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

+0

@MikeMB: Ах, да. Получил его назад – slebetman

+0

Почему бы не назвать 'devel' вместо' develop', так как это очень используемая аббревиатура? – nowox

+0

@nowox: Существует несколько общих названий для ветви разработки: 'dev',' develop', 'main' и т. Д. Они все развивают отрасль. Это концепция. То, что вы называете своей веткой развития, зависит от вас – slebetman

9

Для процесса мерзавца, как показано в [1]:

  • feature: Все функции/новые функции/основные рефакторинга делаются в feature ветви, какая ветвь и слившиеся обратно из/в ветвь develop (обычно после какого-то экспертного обзора).
  • release: Когда достаточное количество функций накопились или следующий кадр релиз время приближается, новая release ветви разветвляются составляют от develop, которая посвящена исключительно для тестирования/исправления ошибок и любой очистки, необходимой (например, изменить некоторые имена путей, разные значения по умолчанию для приборов и т. д.).
  • master После QA доволен качеством, release ветви объединена в master (а также обратно develop). Это то, что отгружено/используется клиентами.
  • hotfix Если после выпуска исправлена ​​большая проблема, исправление разрабатывается в ветке hotfix, которая разветвлена ​​от ведущего. Это единственные ветки, которые будут когда-либо ветвью мастера.
  • Примечание: любое фиксация в master является фиксацией слияния (либо от release, либо от hotfix), и представляет собой новый выпуск, который отправляется клиенту.

Обратите внимание, что эта модель в основном предназначена для: a) крупных программных проектов, которые следуют b) классического выпуска версий и c) имеют отдельную команду QA. Многие популярные репозитории на github следуют более простой модели.

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