Как работать с вставной библиотекой?

Ваш средний мерзавец новичок здесь.

Иногда я обнаруживаю, что разрабатываю дроп в библиотеках для своего фреймворка PHP, CodeIgniter. Удаление библиотеки - это то, что можно просто скопировать в новую установку фреймворка, чтобы можно было легко выполнить определенную задачу. В идеале он не должен перезаписывать какие-либо файлы фреймворка.

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

Каков рекомендуемый рабочий процесс в этом случае? Как я должен идти об этом?

Заранее спасибо.

1 ответ

Два решения:

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

    git update-index --assume-неизмененный мой / чувствительный / файл

2/ Вы используете драйвер фильтра для генерации конфиденциальных файлов из;

  • файл шаблона (версионный)
  • файл значений (не версионный)

Смотрите " Как сохранить разное содержимое одного файла в моем локальном репозитории и в github?"


Третье решение состоит в том, чтобы изолировать вашу Dropin-библиотеку в отдельном репо от вашей инфраструктуры, и использовать репозиторий платформы только для развертывания на вашем диске определенной версии, а затем выполнить извлечение вашего репозитория Dropin Lib непосредственно в скопированной среде.

Вы также можете связать эти два репозитория через подмодули, но это сложнее, поскольку две структуры каталогов перекрываются.

Другие вопросы по тегам