Я полагаю, что обычная причина в том, что основная ветвь должна представлять «стабильную» историю вашего кода.используйте ветки, чтобы экспериментировать с новыми функциями, реализовывать их, и когда они станут достаточно зрелыми, вы можете объединить их обратно с master.
, так что код в master будет почти всегда создаваться без проблем, и его можно будет в основном использовать непосредственно длярелизы.
давайте возьмем в качестве примера git.git (официальный репозиторий git).Есть несколько ветвей, наиболее заметных:
, поэтому master
содержит код, который, скорее всего, закончится в следующем выпуске git.next
содержит проверенный код, который потенциально может быть объединен с веткой master
.pu
(предлагаемые обновления, iirc) содержит совершенно новый (и, вероятно, непроверенный) код.
pu
считается нестабильным и будет сброшен и перебазирован по усмотрению junio.next
может быть сброшено после выпуска или во время цикла выпуска, но это не так часто.master
установлен в камне и никогда не изменяется после того, как он был выдвинут и сделан общедоступным.
вы видите, что изменения будут объединены с pu
до next
и с next
до master
если они считаются достойными и не ломают вещи.
ветвь maint
используется для исправления ошибок, которые также должны применяться к более старым версиям git.maint
обычно объединяется с next
и / или master
.
Вы можете проверить ветви на http://git.kernel.org/?p=git/git.git;a=summary