Как мне рекомендуется использовать GIT в моем проекте лития?
Вопрос
После поиска во многих фреймворках PHP, чтобы выяснить, что учиться и использовать, я предварительно остановился на литии. Это выглядит здорово. За исключением того, что я не совсем уверен, как лучше всего управлять приложениями, которые я пишу в GIT, из -за рекомендуемого способа получить код. Руководство предлагает:
git clone git://github.com/UnionOfRAD/framework.git my_app
cd my_app
git submodule init
git submodule update
Это приводит к непустому основному репозиторию (2000+ в настоящее время в истории). Должен ли я просто совершать свои собственные изменения в этом же хранилище (в моих собственных ветвях?) И вытягивание/слияние, когда есть изменения, или есть какой -то другой способ, который рекомендуется?
Я знаю, что я также могу просто загрузить файлы без клонирования репозитория, но, поскольку руководство указывает, что это рекомендуется, я решил, что должна быть веская причина и идеальный способ сделать это. (Я полагаю, что это облегчает обновление фреймворка, когда выйдет новая версия.)
Решение
Это зависит от вашей предпочтительной настройки. Если я хочу быстро прокатиться, то оформление примера приложения работает отлично. Он имеет конфигурацию Bootstap, примеры контроллеров и некоторые представления. Но после того, как вы преодолеете, я предлагаю создать собственное базовое приложение и развернуть сам PR-сервер Framework, а не PR-приложение. А app/config/bootstrap/library.php Можно легко изменить, чтобы загрузить литий литий из других мест.
Так
- Deploy Lithium PR -сервер (/Home/Lithium - мое предпочтение)
- Создайте свое собственное базовое приложение, копировав LI3 по умолчанию и сняв/изменяя его
- Создайте гибкую конфигурацию Vhost, чтобы вы могли просто git clone base-app ~/sites/foo-app, или аналогично, для быстрого прокатки с новым приложением.
У меня есть мое (устаревшее к настоящему времени) базовое приложение на GitHub
Другие советы
Да. В GIT вы получаете копию всей истории. Вы можете отслеживать свою работу в своей собственной ветви и синхронизировать, как вы видите, используя Pull или Fetch.
Поскольку вы используете GitHub, вилка, это репо и клон из вилки. Если вы хотите внести свой вклад, вы можете создать запросы на притяжение.
РЕДАКТИРОВАТЬ:
Первоначально все, что вам нужно сделать, это клонировать:
git clone <url to the repo>
git submodule --init --recursive
Если вы не вкладываете вклад, то рабочий процесс прост:
git fetch
Чтобы получить последние из GitHub
git merge --ff-only origin/master
git submodule update --recursive
Если вы получите ошибки, потому что вы случайно изменили файл, вы можете
git reset --hard HEAD
git clean -xdf
И начните с шага слияния снова. Возможно, вам придется войти в каталоги подмодулей и сделать вышеуказанные 2 шага, если изменения произошли там.
Надеюсь это поможет.