Зависит от специфики проекта. Это команда, которая собралась, чтобы завершить проект и уйти, или это постоянная работа над версиями. график релизов и т. д.
Мы ближе к последнему. Вот наш процесс:
- Для новой версии / функции значительного размера мы создаем отдельную ветку.
- Разработчики могут проверить код - мы настаиваем на том, чтобы у каждого пользователя был комментарий.
- Чтобы синхронизироваться со стволом, владелец ветки отвечает за слияние ствола со своей веткой
- Когда функция / выпуск завершен, ветка проверяется кодом и объединяется обратно в транк
- ветка удалена. Если работа над веткой должна продолжаться, ветка должна быть воссоздана - это связано с ограничениями SVN
Редактировать
Для уточнения:
Филиалы являются площадкой для постоянного развития. Каждый разработчик (или ведущий разработчик для более крупных функций) отвечает за свою собственную ветку, включая правильные процедуры регистрации (комментарии проверки), а также синхронизацию со стволом.
Ствол, с другой стороны, является местом стабильности - в любой момент вы должны иметь возможность собрать рабочую версию приложения из ствола. На самом деле у нас есть процесс CI, который делает это автоматически при каждой регистрации.
Чтобы добиться этой стабильности, изменения никогда не вносятся непосредственно в багажник (за исключением чего-то очень маленького и действительно срочного).
Процесс модификации транка является обязанностью внутреннего разработчика. Как только владелец ветви объявил, что он готов к работе, внутренний разработчик должен просмотреть представленный код (из ветви) и объединить его обратно в транк.
После объединения ветка становится непригодной для использования и должна быть удалена.