Обновление файлов с различным содержанием через Git?
Даже не знаю как правильно вопрос то задать… В общем с Git-ом я знаком крайне плохо, знаний явно не хватает, быть может кто подскажет как выйти из ситуации.
Есть сервер на Ubuntu, он же собственно является сервером для сайта на Python — Django. Сам сайт находится в Git репозитории на GitHub, и соответственно на сервер репозиторий клонирован. Разработка же сайта происходит на домашнем компьютере, и с него соответственно идут коммиты в Git. Всё бы ничего, если бы не одно но: для работы и тестирования на домашнем компьютере требуется в конфиге к сайту (settings.py) указать путь к sqlite3 базе. Так вот на сервере этот путь к базе существенно отличается :(. Получается что для домашнего компьютера, и сервера я должен держать 2 различных конфига. И ладно бы если этот конфиг никогда не менялся, но по мимо пути к базе там ещё много всего указанно того, что требует периодических изменений. В итоге при изменениях в конфиге на сервере Git Pull делать конечно отказывается ругаясь на различия в файлах. Ну, конечно можно в случае изменений заливать конфиг ручками, и переправлять в нем путь к базе, но как-то не автоматизированно это. Что-то мне подсказывает что я — дурачок, и есть способы выхода из ситуации. Кто нибудь чего подскажет?
Как сделано у нас — есть файл settings.py в котором содержатся настройки, специфичные для девелопмента. В settings.py инклюдится globalsettings.py, который содержит общие настройки, которые одинаковы для девелопмент версии и для продакшена. settings.py добавлен в .gitignore
Я так делал: в settings.py глобальные настройки и код, который инклудит settings..py (в качестве я использовал hostname, но можно явно в переменных окружения задавать env=dev/qa/prod).
При этом можно все варианты настроек держать в гите и не бояться их потерять.