Какие настройки и команды git могут помочь в управлении частным контентом на общедоступном Github?
Я строю "CMS" (используется слегка) в PHP, который я предоставляю как открытый исходный код через репозиторий Github. Я создаю его как новую домашнюю страницу для моей компании, и содержание в его различных формах дает хороший пример того, как использовать различные классы и функции.
Сначала я оставил там свой контент (все сохраненные в виде текстовых файлов Markdown) - о страницах, примерах клиентов, сообщениях в блогах - но затем испугался и добавил в Lorem Ipsum и поддельные изображения. По какой-то причине, несмотря на то, что все это будет доступно для публики по нашему URL, было просто плохой идеей, чтобы дизайн, контент и все остальное было легко доступно. Тем не менее, было бы (а) хорошо иметь все в одном репо, (б) отличный жест, чтобы сказать "эй, что у меня твое", тем более что мы концентрируемся на открытом исходном коде, и (в) просто делает то, что уже возможно (крадет наш дизайн и контент) лишь немного легче.
Есть ли способ, которым git-репо может управлять (полу) частным контентом, все еще публикуя его в публичном репо?
1 ответ
Как подробно описано в разделе " Может ли открытый исходный код, размещенный на github, быть закрытым? ":
Сам GitHub не имеет никакого отношения к тому, как вы лицензируете свой код. Таким образом, вы можете решить прекратить публикацию вашего источника через GitHub, но все, что было разветвлено и клонировано от него до этого момента, конечно, все еще "там" под лицензией с открытым исходным кодом, которую вы первоначально использовали.
Так что это больше о:
- доступность: имеет ли значение, что каждый может получить доступ / прочитать ваш код?
- лицензирование: какую лицензию вы прикрепляете к содержимому этого репо?
Я предпочитаю хранить отдельно:
- файлы шаблонов (эквивалент ваших файлов Lorem Ipsum)
- файлы сценариев, способные генерировать файлы с фактическим значением
из самих файлов значений (файлы с фактическими данными "компании").
Я храню их вдали от GitHub.
Таким образом, я могу объявить драйвер фильтра содержимого, который при оформлении заказа автоматически создает для меня окончательные файлы.
(Подробнее см. " Автоматическое игнорирование выбранных изменений кода при отправке в репозиторий git-hub ")