Методы обработки частного и публичного хранилища? - PullRequest
3 голосов
/ 05 марта 2010

У меня есть сайт с открытым исходным кодом. Некоторый контент является «закрытым», например, параметры подключения, а также файлы, которые не нужны в версии с открытым исходным кодом (например, рекламные шаблоны).

По сути, я пытаюсь поддерживать две версии:

  • Публичный сайт с уникальной личностью (реклама, учетная запись Google Analytics, ссылка на связанный форум и т. Д.)
  • Версия с открытым исходным кодом для развития сообщества, без лишних зависимостей или брендинга

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

Это работает достаточно хорошо, пока я не попытаюсь проверить между ветвями функций: ветке может понадобиться новый ключ в файле настроек. Поскольку файл настроек игнорируется Git (чтобы избежать паролей и т. Д.), Сайт ломается.

В идеале я бы хотел, чтобы файлы настроек управления версиями, но были в состоянии сказать Git никогда не отправлять эти файлы на удаленный сервер (Github). Это возможно?

Стоит ли использовать ветки для управления различными версиями веб-сайтов?

Ответы [ 2 ]

2 голосов
/ 05 марта 2010

Вы должны использовать подмодули git с:

  • один модуль для всего общедоступного контента, который можно выталкивать / извлекать по желанию
  • один модуль для частного контента
  • один супер-проект, также в частном репо, который ссылается как на публичные, так и на частные субмодули.

Филиалы в одном репо не являются ответом, особенно когда речь идет о конфиденциальной информации.

0 голосов
/ 05 марта 2010

Ветви (как вы и предлагали), вероятно, самый прямой способ сделать это. Фактически это было то, что они должны были сделать, а именно отделить несколько проектов / версий друг от друга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...