Как работать с вставной библиотекой?
Ваш средний мерзавец новичок здесь.
Иногда я обнаруживаю, что разрабатываю дроп в библиотеках для своего фреймворка PHP, CodeIgniter. Удаление библиотеки - это то, что можно просто скопировать в новую установку фреймворка, чтобы можно было легко выполнить определенную задачу. В идеале он не должен перезаписывать какие-либо файлы фреймворка.
Теперь я хотел бы, чтобы основная ветвь моего репозитория GitHub содержала только файлы библиотеки. Однако я хотел бы поддержать ветку разработки, на которой я... буду развивать библиотеку. Проблема в том, что я не могу разработать библиотеку без рамок вокруг нее, поэтому в ветке разработки тоже должна быть интегрированная библиотека. Теперь, из-за всех конфиденциальных данных, участвующих в настройке инфраструктуры (например, для доступа к базе данных), я не хотел бы помещать эту ветку на GitHub. Но как мне "извлечь" файлы, над которыми я работал, в основную ветку, если я создал ветку разработки из основной ветки? Я немного запутался.
Каков рекомендуемый рабочий процесс в этом случае? Как я должен идти об этом?
Заранее спасибо.
1 ответ
Два решения:
1 / вы изменяете свой индекс при работе над веткой разработки, чтобы никогда не считать измененные конфиденциальные файлы
git update-index --assume-неизмененный мой / чувствительный / файл
2/ Вы используете драйвер фильтра для генерации конфиденциальных файлов из;
- файл шаблона (версионный)
- файл значений (не версионный)
Смотрите " Как сохранить разное содержимое одного файла в моем локальном репозитории и в github?"
Третье решение состоит в том, чтобы изолировать вашу Dropin-библиотеку в отдельном репо от вашей инфраструктуры, и использовать репозиторий платформы только для развертывания на вашем диске определенной версии, а затем выполнить извлечение вашего репозитория Dropin Lib непосредственно в скопированной среде.
Вы также можете связать эти два репозитория через подмодули, но это сложнее, поскольку две структуры каталогов перекрываются.