1. Один создает, за ним и все права
2. Закачивает все свои файлы
3. Другие разработчики скачивают все файлы
4. Правят/добавляют что им надо.
5. Перед тем как закачать изменения, проверяют кто-нибудь закачал что, если да то скачивают и проверяют нет ли конфликтов или не ломает чего их код
6. Если все хорошо то проталкивают свои изменения
Есть понятие веток, они могут быть как локальные, видит юзер только у себя и публичные, которые видят все. Локальные программисты для себя делают; Публичные, если какой-то модуль нужно долго делать или идет хороший редизайн. Еще хорошо иметь Продакш ветку, с которой работают ведущие программисты, это ветка текущее состояния боевого сервера. Основная ветка, куда все программисты закачивают что есть.