我正在试图弄清楚如何在Git hub上使用Drupal镜像。我是git的新手,但已经解决了以下问题:
* 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>
* git checkout <my_site>
* git rebase master
我为每个网站保留了一个单独的分支。每个分支只保留一个单独的站点目录,因为我不是黑客攻击核心。我已经做了一些实验,看起来我可以做所有事情作为合并而没有冲突,但我有限的阅读使得rebase听起来像正确的答案。
我对此回购中的模块开发不感兴趣。我没有将它保留在我的服务器上进行直接部署。我将它保存在本地进行升级测试,并作为shell脚本的原始资源进行部署。
这些看起来像是正确的解决方案吗?
答案 0 :(得分:1)
rebase
与merge
的决定实际上取决于您是否要在每次升级时重写分支的历史记录。如果您只有一个回购,这可能是个人决定。有关如何重写历史记录的详细信息,请参阅git-rebase。
如果这不是一个单独的回购,并且你(大概)正在共享分支,当你尝试push/pull
时,这将成为一个问题,因为远程分支将具有最后的已知历史。这非常脏,非常快。如果您计划拥有多个回购,只需merge
master
分支到您的网站分支即可更新它们。你可以随意这样做。
希望有所帮助。