Есть ли способ настроить дистанционные.
Вопрос
Есть ли простой способ настроить разные файлы .gitignore для разных пульсов? У меня есть репозиторий, который я подталкиваю к Хероку и Гитуб. Мне нужна база данных. Так что мне нужен другой .gitignore файл для каждого из пульт.
Я попытался иметь две отдельные ветви, одна, которая игнорирует Database.yml, и одна, которая не делает. Проблема в том, что когда я проверяю филиал Heroku и возвращаюсь в мою филиал Github, весь файл Database.yml исчез.
Какие-нибудь советы?
Решение
Я ничего не знаю о требованиях к Хероку - надеюсь, справедливость верна, и вы можете просто избежать проблемы. Если вы не можете, или если кто -то еще найдет это, который не может ...
Если вы хотите, чтобы два пульта были зеркалами (имеют одинаковые коммиты), они должны по определению иметь одинаковые файлы в этих коммитах. Итак, у вас есть два варианта: file-for-repo-B
Во всех репозиториях, даже если им это не нужно, или используйте немного грязный рабочий процесс с двумя ветвями: master
а также for-repo-B
. Анкет Единственная разница между двумя ветвями - это прикосновение file-for-repo-B
; филиал for-repo-B
всегда сливался из master
(Но никогда не наоборот!). Теперь у вас просто другое филиал проверяется в репо B, и все хорошо.
Другие советы
Не размещайте информацию о базе данных в Database.yml. Вместо этого используйте переменные среды Heroku.
Вы должны версировать:
database.yml
с только переменными, и- сценарий, способный заменить эти переменные на правильные значения в зависимости от удаленного сервера, где это
database.yml
развернут.
Затем вы используете скрипт как Драйвер фильтра атрибутов пятно:
Каждый раз, когда вы заглядываете (и создаете рабочее дерево) на удаленном сервере, сценарий выполняется и будет соответствующим образом изменять переменные, предоставив вам пользовательский database.yml
файл.
Если один из пульт не нуждается в этом database.yml
Файл, он все еще может быть там, но опустошен сценарием пятно.