Конечно, идеальным решением является отсутствие отслеживания данных конфигурации в хранилище или, по крайней мере, возможность переопределения через какой-либо неотслеживаемый файл.
Однако нет проблем с тем, что вы хотите делать в git. Вы просто локально делаете несколько клонов своего репозитория GitHub. В каждом из них вы можете вносить изменения, специфичные для этой локальной копии, а затем фиксировать их. Затем, когда вы захотите обновить последнюю версию GitHub, убедитесь, что вы используете:
git pull --rebase
... который получит последнюю версию с сервера, а затем попытается повторно применить ваши коммиты с локальными изменениями поверх них. Если те же части файлов, в которых вы зафиксировали изменения, также не были изменены в новых коммитах на GitHub, у вас даже не должно быть конфликтов для разрешения.
Если вы всегда будете тянуть так, то график коммитов (история) вашего проекта всегда будет таким же, как удаленный, но с любыми вашими локальными изменениями, как самые последние коммиты поверх удаленной истории.
(Я надеюсь, что клиенты GUI, которые вы используете, имеют опцию перебазирования при извлечении новых изменений. В противном случае вы можете настроить это на автоматическую настройку с параметром branch.<name>.rebase
, где <name>
- это имя вашего местное отделение.)