Обновление Drupal с помощью Git - PullRequest
4 голосов
/ 04 мая 2010

Я пытаюсь понять, как использовать зеркало Drupal на Git Hub. Я новичок в Git, но разработал следующее:

Настройка репозитория Git Drupal

* git init
* git remote add drupal git://github.com/drupal/drupal.git
* git fetch drupal

* git tag
* git merge <tag_name>

Сделать ветку для моего сайта

* git branch <my_site>
* git checkout <my_site>
* git add .
* git commit -a

Обновление ядра

* git checkout master
* git fetch drupal
* git tag
* git merge <new_versions_tag>

Обновление ядра my_site

* git checkout <my_site>
* git rebase master

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

Меня не интересует разработка модулей в этом репо. Я не храню его на своем сервере для прямого развертывания. Я храню его локально для тестирования обновлений и в качестве сырья для развертывания сценария оболочки.

Похоже ли это на правильные решения?

1 Ответ

1 голос
/ 04 мая 2010

Решение rebase против merge действительно сводится к тому, хотите ли вы переписывать историю своей ветви при каждом обновлении. Если у вас есть только один репо, это может быть личное решение. См. git-rebase для получения дополнительной информации о том, как переписывается ваша история.

Если это не будет просто один репо, и вы (предположительно) делитесь ветками, это станет проблемой, когда вы попытаетесь push/pull, поскольку у удаленных веток будет последняя известная история. Это становится очень грязным, очень быстрым. Если вы планируете иметь более одного репо, просто merge ответвьте master в ветки вашего сайта, чтобы обновить их. Вы можете делать это так часто, как хотите.

Надеюсь, это поможет.

...