1. Как уже сказали выше - git или mercurial (на bitbucket, github или на своем сервере). С основного репозитория клонируем копии на локальные машины.
2. dev-среда:
2.1 dev-сервер с поддоменами для каждого разработчика
2.2 или локальный веб-сервер (у каждого свой)
2.3 обязательно - "предпродакшн" сервер - там будут производиться проверки перед деплоем на продакшн
3. Ставите каждому нормальную IDE, которая умеет работать с локальными файлами и деплоить изменения на сервер (PHPStorm).
4. Настраиваете IDE таким образом, чтобы вы работали с локальными файлами, и при этом при сохранении изменения автоматически отправлялись на ваш dev-сервер.
5. Юнит-тесты, функциональные тесты, чтобы перед деплоем на продакшн быть уверенным в том, что кто-то из разработчиков не сломал ваш проект своими изменениями.
6. Если есть изменения в БД - миграции
7. На продакшене также клонируетесь от основного репозитория (для удобства обновления кода)
Т.о. процесс разработки будет выглядеть так:
1. Разработчик pull`ит изменения из основного репозитория
2. Что-то меняет в коде, тестируя это на своем dev-сервере
3. После покрытия кода новыми тестами, прогоняет их и заливает изменения в основную ветку
4. На предпродакшене обновляемся с основной ветки. Прогоняем все тесты.
5. Если тесты прошли - на продакшене обновляемся на тот же коммит