Обновление файлов с различным содержанием через Git?
Как сделано у нас — есть файл settings.py в котором содержатся настройки, специфичные для девелопмента. В settings.py инклюдится globalsettings.py, который содержит общие настройки, которые одинаковы для девелопмент версии и для продакшена. settings.py добавлен в .gitignore
Я так делал: в settings.py глобальные настройки и код, который инклудит settings..py (в качестве  я использовал hostname, но можно явно в переменных окружения задавать env=dev/qa/prod).
При этом можно все варианты настроек держать в гите и не бояться их потерять.