用Git升级Magento

时间:2011-09-01 09:04:04

标签: git magento merge github upgrade

我准备将我们的Magento商店从1.5.0升级到1.6.0,我知道我想要这样做,但我对我需要使用的命令有点不确定。

对于初学者,我的生产服务器上有我当前的商店,我有git设置,并且我们的Beanstalk帐户上有回购的副本。我在该回购中有完整的变更历史,并且最好保留这些变更。

我有一个我们购买的主题然后进行了大量优化,但幸好几乎所有的优化都在override.css文件中。虽然,主题文件本身有一些小的代码更改。

由于Magento使用SVN作为他们的CVS,我发现(在Github上)Magento发布的镜像。

所以,到目前为止,我有三个地方想要'合并':

  1. 生产(git)
  2. Magento mirror(git)
  3. 主题(不是git或svn,普通旧目录)
  4. 我正在考虑将Magento镜像作为分支添加到我现有的git repo中,称之为1.6.0或类似。然后以某种方式将普通主题目录和文件拉入主分支......

    我是否在正确的位置?

    我还在考虑保护生产网站,添加网站的暂存版本以运行这些合并来测试它们。

1 个答案:

答案 0 :(得分:6)

这很简单,但你必须确保你的网站基于一些主仓库,这些仓库可以在早期版本的流中合并(将所有Magento版本作为标签或分支的仓库,可以从最初合并到最新版本) 。所以这里有两个可以遵循的方案

1。我的网站不在git

  1. 首先从拥有所有magento版本的master repo克隆(至少到你当前使用的版本)
  2. 使用您当前使用的版本
  3. 获取克隆并结帐新分支
  4. 将您当前的网站复制到此版本
  5. 完成之后,“git status”将显示您开始使用的原始版本以及您对其所做的所有编辑的差异
  6. 现在可以智能地将所有核心编辑内容移动到本地代码池,并将内核中的任何更改还原为原始文件,将默认或基本模板中的任何编辑内容移动到您自己的模板,并还原默认或基本模板文件中的更改。与原始版本相似的所有文件也是如此。这使您“我的所有更改都与原始代码分开,并且它们不会与我的升级冲突”,提交此状态是明智的
  7. 如果所有内容都与原始文件分开,那么就该升级了。启用默认主题,禁用所有本地和社区扩展,将新版本与当前分支合并。访问该站点以执行升级
  8. 现在您的网站已升级,您可以逐个打开主题和自定义扩展程序,以查看兼容性和不兼容性。一个接一个地调试和解决
  9. 我的网站已经在git

    1. 如果它基于具有所有版本的回购,状况良好(跳过2)
    2. 如果不是那么你可以添加一些将它全部作为你的遥控器的回购,并从合并你当前的版本开始,将改变与第一个场景中描述的原始版本分开
    3. 使用当前网站的新分支
    4. 与新版本合并
    5. 禁用所有本地,社区扩展,启用默认主题和升级
    6. 逐个启用主题,扩展并调试发生冲突的地方
    7. 通常有一个如下的git设置:

      • MAGENTO MASTER - >远程设置有所有MAGENTO版本

      • 你的主人 - >远程起源是MAGENTO MASTER

        • branch:yoursite_dev
        • branch:yoursite_stage
        • branch:yoursite_live

      您始终在your_dev分支上进行开发,如果您已将更改准备好进行评估,则将_stage与_dev合并,如果批准了更改,则将状态合并为_dev,来自_dev或来自_stage。

      基于理论端点的命令

      git clone git://github.com/speedupmate/Magento-CE-Mirror.git yourprojectdir 
      cd yourprojectdir
      git fetch --tags
      git tag
      git checkout -b yoursite_dev magento-1.5.0.1
      git checkout -b yoursite_stage yoursite_dev
      git checkout -b yoursite_live yoursite_dev
      git checkout yoursite_dev
      git branch
      //copy in your site
      //separate changes or originals
      //add any file/dir with local importance to .gitignore
      //turn of your default theme, disable all local/community extensions and overrides
      //assuming you are on dev branch commit your clean state 
      git merge magento-1.6.0.0
      //visit the site to execute the upgrade 
      //enable your theme , extensions , debug
      

      这为您提供了方案1的起点,之后您可以在您的网站中复制并开始分离更改并在当前网站和主题中进行排序