Git, сайт local + remote + файл настроек
Разбить конфигурацию на несколько файлов и файл настройки базы в игнор.
Не знаю best practice для PHP, но в Python делаю так: в settings импортируют файл local_settings и файл local_settings добавляется в .gitignore