Git. Один проект на двоих?
1. Один создает, за ним и все права
2. Закачивает все свои файлы
3. Другие разработчики скачивают все файлы
4. Правят/добавляют что им надо.
5. Перед тем как закачать изменения, проверяют кто-нибудь закачал что, если да то скачивают и проверяют нет ли конфликтов или не ломает чего их код
6. Если все хорошо то проталкивают свои изменения
Есть понятие веток, они могут быть как локальные, видит юзер только у себя и публичные, которые видят все. Локальные программисты для себя делают; Публичные, если какой-то модуль нужно долго делать или идет хороший редизайн. Еще хорошо иметь Продакш ветку, с которой работают ведущие программисты, это ветка текущее состояния боевого сервера. Основная ветка, куда все программисты закачивают что есть.
У вас должен быть один центральный репозиторий (легче всего создать на github/bitbucket и подобных сервисов).
А также, у каждого из вас должна быть своя "копия" этого репозитория. Все что вы делаете вы делаете в своих копиях, и когда считаете нужным "публикуете" свои изменения на центральном сервере.
Использовать github/bitbucket легче потому что там не нужно заморачиваться с настройкой доступа к центральному репозиторию. Эта настройка - отдельная тема.