Я работал с обоими методами, и я бы сказал, что разработка на магистральной линии и ответвления от стабильных точек как релизов - лучший путь.
Те люди выше, кто возражает, говоря, что у вас
- Постоянные проблемы со сборкой для ежедневных сборок
- Потеря производительности, когда разработчик совершает проблему для всех других людей в проекте
вероятно, не использовали методы непрерывной интеграции.
Это правда, что если вы не выполняете несколько тестовых сборок в течение дня, скажем, раз в час или около того, они останутся открытыми для этих проблем, которые быстро задушат темпы разработки.
Выполнение нескольких тестовых сборок в течение дня быстро сворачивает обновления основной базы кода, чтобы другие могли использовать ее, а также предупреждает вас в течение дня, если кто-то сломал сборку, чтобы они могли исправить ее перед отправкой домой.
Как указывалось, только обнаружение неисправной сборки, когда ночная сборка для запуска регрессионных тестов дает сбой, является чистой глупостью и быстро замедлит процесс.
Прочитайте статью Мартина Фаулера о непрерывной интеграции . Мы развернули нашу собственную такую систему для крупного проекта (3000kSLOC) примерно в 2000 линиях Posix sh.