2012-04-25 2 views
2

Этот вопрос How do you deal with configuration files in source control? предлагает игнорировать их, и хотя это альтернатива, я действительно не хочу, чтобы они перемещали файл .ignore так много, кажется мне грязным.Как справиться с настраиваемой конфигурацией на версиях? - git

Большинство членов команды имеют некоторую конфигурацию в нескольких версиях файлов, которые не должны быть привязаны к основной ветке. то есть. файл app.config с локальной базой данных и т. д.

Как бороться с этими файлами? Им нужно, чтобы их среды работали, но в целом они, как правило, забывают добавлять новые файлы в репо, потому что начинают игнорировать измененные файлы.

Я думал, что у меня есть какой-то скрипт, который удаляет их из локальной файловой системы, когда они компилируются, чтобы они могли определить, будет ли все решение компилироваться или нет при нажатии в репо, но мне интересно, есть ли лучше решение?

+0

Вы уже нашли [тот же вопрос] (http://stackoverflow.com/questions/6009/how-do-you-deal-with-configuration-files-in-source-control) и даже если вам не нравится предлагаемое решение, я не думаю, что нам нужен еще один вопрос по этой теме. Может быть, вы можете добавить комментарий к ответу, который вам не нравится? –

ответ

1

Я не уверен, что вы подразумеваете под «не хочу, чтобы они перемещали файл .ignore так много», но вы должны придерживаться совета, который вы изначально нашли, и поместить файлы, которые не должны быть добавлен в файл игнорирования, как предполагалось. Это то, для чего оно есть, и нет никакого вреда в заполнении его файлами, которые не все будут иметь.

Некоторые другие инструменты, которые вы можете использовать следующие:

  • фиксации шаблона для файла конфигурации (например config.sample) и ваш сценарий сборки сделать копию с config.sample игнорируемых config, если (и только если) он еще не существует
  • улучшить вашу систему конфигурации, чтобы включить наложения. Например, config.local, который игнорируется, переопределяет настройки, загруженные с config.shared, который отслеживается.
  • улучшите свою конфигурационную систему, чтобы включить. Например, линия, как %include ~/settings, которые люди могут поставить свои собственные конфигурации в

Все те, однако, предполагают, что вы игнорируя конфигурационный файл, который изменяется пользователем, потому что это то, что вы должны сделать. :)

Смежные вопросы