2012-01-03 15 views
2

Я только начинаю с Git.
У меня есть:Репозитории GIT с различными файлами

  • хранилище на моей локальной машине для веб-разработки /www/my-web-app/ и
  • на удаленном сервере, у меня есть голый репозиторий /www/git-repo/, а затем фактическое веб-приложение /www/production-my-web-app/.

В настоящее время я выхожу из локальной машины в голый репозиторий и затем вытаскиваю это в хранилище.

Проблема в том, что у меня есть несколько конфигурационных файлов, которые отличаются друг от друга.
Я их проигнорировал, но я не могу понять, как их загрузить (не могу сделать это через FTP по какой-то причине), и я уверен, что у меня просто отсутствует очевидная возможность git.

Любая помощь будет благодарна, спасибо!

+0

Что гит должен делать? Итак, вы хотите иметь эти файлы конфигурации в репозитории git - но их не следует проверять версиями? Или вы просто хотите сохранить их отдельно от репозитория приложений? В последнем случае вы можете сохранить их в другом git repo (dev и production) и импортировать их в качестве подмодулей в вашей dev и производственной среде. – madflow

+0

Субмодулы, вероятно, будут излишними, нет необходимости в версии, поскольку несколько файлов всегда будут постоянными. – Dormouse

+0

Почему вы «тянете» за свое приложение? Почему вы не используете 'git archive'? – fge

ответ

2

Функция, которую вы, возможно, пропустили и должна помочь в вашем случае, это «content filter driver», особенно шаг размытия.

content filter driver

Идея заключается в версии: с

  • шаблон конфигурационного файла
  • скриптом (размазать) в состоянии взять шаблон и создать частный (т.е. не версионируются) config file
  • некоторые непроизводственные значения (используемые сценарием при вызове с вашего локального компьютера)

Таким образом, этот же сценарий smudge будет использовать внешние значения при использовании в производственной среде, то есть секретные значения, не сохраненные в репозитории git (для их клонирования/толчка не существует опасности).
В отличие от вашей локальной машины, где эти тестовые значения можно безопасно версировать в репозитории Git.

Если нет «секретных данных» вопроса, вы можете просто версия несколько файлы «значение конфигурации», один в среду, оставляя его на смазыванию сценарий:

  • обнаружить в какой среде она является (автоматически во время git checkout)
  • используйте правильный скрипт «config value» для создания правильного файла конфигурации.
Смежные вопросы