Существует несколько стратегий обработки параметров, специфичных для окружающей среды. Лучшие решения включают изменение процесса сборки, чтобы «локальные» файлы конфигурации не сохранялись в системе контроля версий.
Например, вы можете сохранить шаблон для файла конфигурации и попросить процесс сборки прочитать файл свойств, чтобы определить окончательные значения, которые будут интерполированы в шаблон. Значения для общих сред (prod, qa, dev) могут храниться на сервере сборки и / или в системе контроля версий отдельно от шаблона. Ваши локальные значения будут в поддерживаемом вами файле свойств, хотя файл «по умолчанию» для этой цели, безусловно, может храниться в системе контроля версий (с намерением скопировать и изменить его, чтобы избежать случайной публикации ваших локальных изменений в файле по умолчанию). ).
Если вы не можете осуществить такое изменение? Ну, люди всегда приходят к решениям, основанным на тайнике или измененных флагах в индексе (skip-worktree, предположить без изменений). Я вообще рекомендую против них, поскольку у них всех есть недостатки в той степени, что они "иногда могут работать". Но при отсутствии возможности сделать это проблемой сборки, это может быть лучшим, что вы можете сделать.