Каков наилучший способ сохранить код вашего сайта в git и задействовать ядро ​​и внести свой вклад в тот же репозиторий?

11

Еще когда drupal был в CVS, мои сайты были в git-репозитории, а затем загрузили ядро ​​и сделали взнос через CVS. Обе системы счастливо сосуществовали, и я мог отслеживать изменения во всем и вносить исправления в модули contrib. Теперь с git я не уверен, стоит ли просто загружать contrib и core и проверять его в git-репозитории моего сайта, или, возможно, использовать субмодули?

Мне интересно, есть ли еще лучшие практики по этому вопросу? Я особенно озадачен тем, как использовать ядро ​​в качестве подмодуля, если мое репо использует корневой каталог drupals в качестве своего собственного корня?

naxoc
источник

Ответы:

6

Не совсем тот же вопрос, что и /drupal/260/deploying-drupal-with-git, но у меня для вас тот же ответ.

http://freso.dk/en/2011/02/26/managing_fresodk_from_cvs_in_svn_to_git

Я думаю, что полезно использовать Drupal Core в качестве реальной проверки, например, облегчить отслеживание хаков. Потому что иногда просто нет другого пути, будь то изменение на .htaccess или, возможно, вы применили некоторые патчи для ошибок, которые напрямую влияют на вас.

Berdir
источник
Мне нравится такой подход. Единственное, в чем я до сих пор не уверен, это как перенести репо на удаленный? Я имею в виду, если базовая проверка от drupal.org?
Naxoc
Вы можете иметь столько пультов, сколько захотите. Чтобы сделать это проще, вы можете переименовать пульт дистанционного управления drupal в drupal (ветка git переименовать origin drupal), а затем добавить свой собственный как источник (git remote add origin user@example.org: repo.git). После этого вы все равно можете настроить ветку ядра (7.x) для извлечения из drupal по умолчанию (git branch --set-upstream drupal / 7.x 7.x)
Бердир,
Отлично. Это именно то, что я искал!
Naxoc
Просто небольшое исправление git branch rename origin drupal- так и должно быть git remote rename origin drupal.
Naxoc
3

Поскольку вам не следует взламывать ядро, измените свое мнение: вместо того, чтобы делать ядро ​​подмодулем вашего сайта, сделайте свой собственный код подмодулем ядра. Как только вы клонируете основной репозиторий, вы можете делать с ним все, что захотите, включая добавление в него своих собственных подмодулей.

В качестве альтернативы, не используйте основной репозиторий git для своего сайта и обновите его до последней версии, используя другие функции, такие как drush. Таким образом, вам нужно всего лишь подмодулировать модули contrib. Если вы не вносите свой вклад в ядро ​​или не делаете передовые вещи, которые зависят от исправлений ошибок, которые еще не вошли в релиз, утилита получения всех коммитов через VCS минимальна.


источник