Здравствуйте, я уже давно хотел поговорить об этом, но я бы хотел использовать git для поддержки некоторых сайтов разработки typo3. Я сделал кое-что, и самый информативный (хром переведенный сайт) информация по этому вопросу не ясна, но заставляла меня думать. Я хотел бы знать, как настроить управляемое репо git, и если есть некоторые/другие папки, которые я должен игнорировать при настройке репо, что я должен опасаться, лучшие практики и т.д. Я решил, что с каждая версия, дамп db будет выполняться отдельно, что соответствует вехе, потому что на данный момент я не уверен, как бороться с этим аспектом управления версиями CMS.
Как лучше всего управлять установками TYPO3 с помощью git?
Ответ 1
Существует типичный .gitignore
/fileadmin/user_upload/
/fileadmin/_temp_/
/uploads/
/typo3conf/temp_CACHED*
/typo3conf/temp_fieldInfo.php
/typo3conf/localconf_local.php
/typo3/
/t3lib/
/typo3temp/
Имейте в виду, что при использовании TYPO3
с git
вы не должны устанавливать расширение на пульте дистанционного управления с помощью Extension Manager
!
Вместо этого импортируйте ext локально, установите его локально, а затем скопируйте и нажмите файлы ext и измените localconf.php
на удаленный сервер.
В конце localconf.php
включить localconf_local.php
(игнорируется)
@include('localconf_local.php');
Это позволит переопределить ie. учетные данные для БД или пользовательский путь ImageMagick
без изменения оригинала localconf.php
. Каждый разработчик, конечно же, записывает свои собственные значения в localconf_local.php
.
Типичные папки TYPO3, игнорируемые в .gitignore
, должны создаваться вручную в каждом экземпляре, т.е.
typo3temp
fileadmin/user_upload
Конечно, вам также нужно скачать TYPO3 sorces (TYPO3
, t3lib
папки) - нет никакого смысла держать их под контролем версий.
Другие вещи, такие как uploads
, должны быть загружены вручную с пульта дистанционного управления, поэтому лучше написать script, который упакует его, и у каждого разработчика будет возможность загрузить его с помощью некоторой ссылки. Вы не можете добавить это в git repo, поскольку эти файлы только создаются при создании элемента контента, поэтому, если вы не будете игнорировать их, вы рискуете столкнуться с огромным слиянием.
Ответ 2
Я хотел бы добавить некоторые аспекты для biesiors очень хороший ответ: по моему опыту, лучшая стратегия заключается в том, чтобы поставить fileadmin/
и typo3conf/
под контроль версий, и ничто другое вначале. Если вы используете расширения, вы будете использовать последнюю версию только из репозитория TER. Конфигурация расширения (настройка typoscript, locallang values) будет размещена во внешних файлах в файле fileadmin/. Пример структуры папок:
fileadmin/
- css/
- images/
- javascript/
- scripts/
- templates/
- - html/
- - templavoila/
- - typoscript/
- - xml/
Не храните в базе данных какую-либо информацию о типографике - оттуда она не может быть версией.
Поместите .gitignore
там, где это необходимо. Мы также игнорируем typo3conf/ext/
и typo3conf/l10n/
. Зачем? Если мы будем писать собственные расширения (или модифицировать существующие), мы добавим typo3conf/ext/my_extensionname/
в другой репозиторий. Таким образом, само расширение может быть хорошо сохранено, особенно если оно используется в нескольких проектах. И неизменные расширения не обязательно должны быть версиями вообще.
Следуйте рекомендациям @include('localconf_local.php');
- это хорошая практика.
Эта настройка добавляет более высокий спрос на дисциплину кодирования, но вы будете вознаграждены! Мы успешно работаем вот так для более чем 12 проектов в команде из двух человек.