Среда Git для проекта CodeIgniter
-
13-10-2019 - |
Вопрос
Я начинаю с нового проекта CI, основанного на Хранилище реакторов CI 2.0.Поскольку код CI2 все еще меняется, я хотел бы сохранить этот код свежим, вопрос в том, как (используя Git).
Для людей, не связанных с CI, базовая структура проекта CI2 выглядит следующим образом:
system/
application/
index.php
...
Системный каталог содержит фреймворк, index.php выполняется начальная загрузка, а приложение содержит мой проект.В идеале я хотел бы поддерживать как index.php, так и системную папку в актуальном состоянии с помощью Git.Еще одна вещь, которой я хотел бы придерживаться, - это название папки приложения.(Вы можете изменить путь к папке вашего приложения в index.php.) Сохранение имени без изменений позволяет просто зайти в папку и все готово.
Я пытался реализовать это, используя подмодули git (смотрите ниже), но подмодули не позволяют указать каталог из целевого репозитория.
git submodule add https://github.com/philsturgeon/codeigniter-reactor.git/code-igniter/system system
Есть какие-нибудь подсказки, как я могу этого добиться?
Решение
К сожалению, вы не можете ссылаться на определенную папку в подмодуле, только корень самого подмодуля. Это означало бы, что вам нужно поместить свое приложение в подпадении, что будет дерьмом.
Однако вы можете просто настроить два пуда в своем приложении GIT.
git init
git remote добавить происхождение git: // Что угодно
git remote добавить реактор git@github.com: philsturgeon/codeigniter-reactor.git
Затем обновите с помощью изменений реактора
git pull реактор мастер
Git Push Origin Master
Помните, что этот клон действительно предназначен для того, чтобы помочь людям получить изменения в реакторе Codeigniter, не нуждаясь в изучении ртути, но вы можете использовать его, пока он существует.
Другие советы
Я тоже столкнулся с той же проблемой.
Я действительно хочу использовать git для подключения ядра codeigniter к приложению без необходимости каждый раз копировать и вставлять обновления!Есть много преимуществ в использовании подмодулей git (и те, кто использует git, уже знают это).
Поэтому я сделал это таким образом:
mkdir yourapp
cd yourapp
git init
git sudmodule add git://github.com/EllisLab/CodeIgniter.git codeigniter
mkdir public
cp codeigniter/index.php public/
cp -rp codeigniter/application .
Теперь отредактируйте public/index.php и измените:
$system_path = 'system';
Для:
$system_path = '../codeigniter/system';
и:
$application_folder = 'application';
Для:
$application_folder = '../application';
Теперь укажите вашему веб-серверу на вашу "общедоступную" папку, и дело сделано!Теперь у вас есть проект с codeigniter в качестве подмодуля :)
Для таких вещей, я обновляю их вручную и проверяю конфликты.
Не реальный ответ на ваш вопрос, но в целом не очень хорошая идея, чтобы изменить сторонние проекты: обновление может нарушить ваше заявление без предупреждения. Я бы посоветовал обновлять его вручную время от времени и проверять ваше приложение после обновления. Таким образом, внезапные перерывы в вашем заявлении с меньшей вероятностью произойдут.
Я никогда не сталкивался с проектом или фреймворком, где вы сохраняете ядро фреймворка в своем репозитории github ИЛИ загружаете его напрямую через другой репозиторий.В подобных вещах вам следует полагаться на composer.