На GitHub популярны две модели совместной разработки: 1
- Модель «Fork + Pull». 1 Позволяет любому пользователю склонировать (fork) существующий репозиторий и сливать изменения в свой личный fork без необходимости иметь доступ к оригинальному репозиторию. 1 Затем изменения должны быть включены в исходный репозиторий его хозяином. 1 Эта модель популярна для проектов с открытым кодом, так как позволяет людям работать независимо, без единой координации. 12
- Модель «общего репозитория» (The Shared Repository Model). 1 Чаще встречается у малых команд и организаций, работающих над закрытыми проектами. 1 Каждый в команде имеет доступ «на запись» в один общий репозиторий, а для изолирования изменений применяются тематические ветви (topic branches). 1
Кроме того, существуют другие модели ветвления, например GitFlow и GitHub Flow: 4
- GitFlow. 4 Ориентирована на проекты с релизными циклами, поддерживает множество версий репозитория. 4
- GitHub Flow. 4 Предполагает создание новой ветки для каждой новой задачи, непрерывное тестирование при слиянии, а также постоянные или частые релизы без определённого релизного цикла. 4