Дизайн репозитория DVCS - отделить разработку от стабильной с помощью веток или отдельных репозиториев?

Я работаю над «планом действий» в своей работе по переносу нашей системы контроля версий с SourceSafe 6.0 (тьфу) на DVCS, например git или Mercurial (желательно git ATM ). Прямо сейчас я работаю над дизайном будущего репозитория, то есть над компоновкой веток и над тем, как настроить «центральные» / благословенные репозитории.

Теперь, поскольку я действительно использовал git только как средство для продвижения открытого исходного кода хобби на GitHub , а с недавних пор для поддержания моего личного репозитория на работе, чтобы у меня был более точный контроль над изменениями кода, чем позволяет SourceSafe. К сожалению, мне еще предстоит испытать широкий спектр сценариев ветвления / слияния или другого полусложного использования git в моих репозиториях, помимо использования простых ветвей функций. Другими словами, у меня нет большого опыта работы с DVCS », поэтому я не думаю, что могу предсказать типичный рабочий процесс, который мы будем здесь использовать, и поэтому не могу самостоятельно создать соответствующий дизайн репозитория.

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

Теперь, после просмотра многих рабочих процессов git, мне действительно нравится один , описанный Винсентом Дриссеном , который похоже, имеет очень чистый макет веток, который почти подходит для того, как мы выполняем развертывание на работе (или, во всяком случае, должен):

Разделить Dev / Stable с использованием ветвей


Separate Dev/Stable Using Branches

Однако я признаю, что немного запутался после видя немного другой пример на сайте HgInit Джоэла Спольски , который, кажется, больше фокусируется на отдельных репозиториях, а не на ветвях для разделения кода разработки и стабильного кода:

Разделить Dev / Stable с помощью репозиториев


Separate Dev/Stable Using Repos

Вопросы


Является ли этот ориентированный на репозиторий разделительный слой просто меркуриальной вещью, которая не используется много с git? Если нет, то каковы преимущества / недостатки использования этого метода по сравнению с использованием веток для разделения кода разработки и стабильного кода? Или я просто совершенно не понимаю, что здесь происходит? : -)

Любой вклад приветствуется; Заранее прошу прощения, если этот вопрос будет пустой тратой времени из-за моего невежества.

9
задан CharlesB 27 August 2012 в 14:02
поделиться