使用Git更新Drupal

时间:2010-05-03 21:20:07

标签: git drupal github

我正在试图弄清楚如何在Git hub上使用Drupal镜像。我是git的新手,但已经解决了以下问题:

设置一个git Drupal repo

* 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

我为每个网站保留了一个单独的分支。每个分支只保留一个单独的站点目录,因为我不是黑客攻击核心。我已经做了一些实验,看起来我可以做所有事情作为合并而没有冲突,但我有限的阅读使得rebase听起来像正确的答案。

我对此回购中的模块开发不感兴趣。我没有将它保留在我的服务器上进行直接部署。我将它保存在本地进行升级测试,并作为shell脚本的原始资源进行部署。

这些看起来像是正确的解决方案吗?

1 个答案:

答案 0 :(得分:1)

rebasemerge的决定实际上取决于您是否要在每次升级时重写分支的历史记录。如果您只有一个回购,这可能是个人决定。有关如何重写历史记录的详细信息,请参阅git-rebase

如果这不是一个单独的回购,并且你(大概)正在共享分支,当你尝试push/pull时,这将成为一个问题,因为远程分支将具有最后的已知历史。这非常脏,非常快。如果您计划拥有多个回购,只需merge master分支到您的网站分支即可更新它们。你可以随意这样做。

希望有所帮助。