Я использовал mercurial в течение некоторого времени, но на самом деле не привык к работе с ветвями, поэтому я изо всех сил пытаюсь выяснить, имеет ли смысл этот рабочий процесс или нет, прежде чем применять его к настоящий проект.Переход между разработкой и производством в Mercurial
Вопрос:
ли это действительно имеет смысл, чтобы воскресить development
ветки каждый раз, когда мы будем работать над новым выпуском путем слияния production
в него, или мы должны вместо этого сделать уникальное именованное недолгое развитие ветви вроде development-1.1
?
Описание процесса:
Каждый готовый к производству редакция нашего кода будет помечено (1.0
, 1.1
и так далее) и помещают в production
отрасли. Как только мы поместили 1.0
в производство, мы сразу же приступим к работе над следующим выпуском - , открыв ветвь с именем development
, которая затем разветвляется каждым разработчиком для каждой назначенной функции, чтобы сохранить аккуратность. Очень просто.
development
ветви, содержащий теперь в-сливалась feature
ветви, затем тестирует и слит обратно в production
как изменения были рассмотрены производством готового.
Когда, когда мы должны продолжать работать над предстоящим выпуском, 1.2
в этом примере, мы слить production
ветвп в development
один и начать работать.
Иллюстрированная история изменений:
@ changeset: 8:21e89b501d4e
|\ branch: development
| | tag: tip
| | description: Development stage for v1.2 opened by merging production into development.
| |
| o changeset: 7:920ca77aa956
|/| branch: production
| | tag: 1.1
| | description: Version 1.1 stable (merged from development).
| |
o | changeset: 6:691b7aa99e42
|\ \ branch: development
| | | description: Feature merged in to development
| | |
| o | changeset: 5:5156cb9cf556
| | | branch: feature
| | | description: Feature finished
| | |
| o | changeset: 4:0345dc73e144
|// branch: feature
| | description: Work started on a feature
| |
o | changeset: 3:9d49be5d8a03
|/ branch: development
| description: Development branch opened
|
o changeset: 2:ba818420fa88
| branch: production
| tag: 1.0
| description: Version 1.0 stable. Woop woop!
«общий совет заключается в том, чтобы использовать их только для имен, которые всегда применяются» - не притворяйтесь, что даете это при общих советах, это ложь. Цитата из wiki: «... если вы пытаетесь использовать ветку в bugfix, вы в конечном итоге можете столкнуться с проблемами производительности. Mercurial разработан, чтобы хорошо работать с сотнями * филиалов. Он все еще работает с десятью тысячами * ветви ... » –
@LazyBadger: Я согласен с вами, но это не ошибка Ry4an. Он просто следует за партийной линией - позиция Мэтта заключается в том, что названные ветви не должны использоваться для каждой ошибки, но есть компании, которые делают это просто отлично. Как [я писал до] (http://stackoverflow.com/a/8870937/110204), похоже, что это в основном проблема с графическим интерфейсом. –
@LazyBadger «ложь» кажется немного сильным. Я сказал, что это «общий совет», который является правдой (см. Ссылку). Я никогда не утверждал, что это техническая необходимость. –