Мне нравится, как Yahoo! Пользовательский интерфейс (YUI), кажется, работает. Я не в Yahoo и не в этой команде, но их журналы git commit многое раскрывают об их процессе.
Команда YUI поддерживает центральный репозиторий, где каждый член команды имеет доступ к коммитам. Периодически после коммитов в этот репозиторий (это может быть после каждого нажатия, но я так не думаю), система сборки запускает, перестраивает YUI и помещает новый тэг коммит в github, где сообщество может форкнуть код и работать над ним .
Я за центральное хранилище, которое представляет «официальный» статус проекта. Конечно, если я хочу поделиться кодом с коллегами, я могу договориться, чтобы они забрали у меня ветку, и мы можем сотрудничать таким образом.
Хранилище «master» предлагает и другие преимущества, такие как простота непрерывной интеграции, так как триггеры push / pull могут быть сконфигурированы в репозитории «master» для запуска модульных тестов и сборки системы. Это также гарантирует, что все знают, где находится самая последняя «хорошо известная» версия репозитория, поэтому, если проект необходимо построить, опубликовать или протестировать, могут быть разумные гарантии того, что «главный» репозиторий готов к этому. .
Git будет поддерживать практически любой рабочий процесс, о котором вы только можете подумать, но даже среди небольшой команды вам не нужно задавать вопрос о том, где находится «официальный» репозиторий. Кошмар обслуживания, который может привести, особенно когда вы приближаетесь к выпуску, будет неприятным.