Разница между master
и release
является то, что master
ветвь, что ваши клиенты/пользователи используют. Это филиал, фактически установленный или проданный.
Во многих командах ветка master
(обычно также называемая master
) также является филиалом release
. Но это не всегда так. В крупных компаниях или компаниях с отдельным отделом/отделом тестирования или отделом контроля качества ведущий филиал является филиалом, который продается клиентам, но ветвь выпуска является тестируемой. Обратите внимание, что для некоторых проектов, выполняющих полный тест, может потребоваться неделя или больше, поэтому имеет смысл иметь ветку, которую тестировщики могут тестировать, но стабильны (разработчики не постоянно нажимают обновления).
Разница между feature
и develop
исходит из тех же соображений. Филиал develop
(обычно называется develop
или dev
) является ветвью стабильного разработчика. В традиционном программном обеспечении для управления версиями подразделение разработки - это ваш сервер репо. Это филиал, который есть у всех разработчиков. Это филиал, с которого вы начинаете разработку.
Филиал с другой стороны - это ваша личная отрасль. Во время разработки функции/истории/модуля вы, конечно, многое измените. И чтобы воспользоваться git, вы должны совершать ранние действия и совершать часто. Но код, над которым вы работаете, по определению нестабилен (не завершен) и может привести к нарушению изменений для других разработчиков. Таким образом, вы разрабатываете свою собственную ветвь (разветвленную от разработки), пока ваш код не будет готов к объединению, чтобы развиваться.
Эти просто кажутся произвольными, хотя и распространенными именами, которые даны ветвям Гита. Как правило, «master» является основной ветвью («trunk» в SVN), к которой все остальные ветви в конечном итоге объединяются. Что касается других имен, кажется довольно понятным, какую цель они служат. –