1. возможно, но не вижу смысла.
2. зачем?
3. делать отдельные конфиги, в разных файлах.
Мое предложение - завести для деплоя отдельные ветку. Как только убедился что все работает - мержишь в боевую ветку изменения. На гите вебхук ловит это и запускает скрипт(допустим боевая ветка - master):
Коннектится к боевому серваку по ssl и запускает команды:
git fetch --all
git reser --hard origin/master
далее по вкусу миграци и тд и тп. Просто, дешево, сердито. Для мелочи идеально