用Git升级Magento

dan*_*mcc 2 git merge upgrade github magento

我对我们的Magento商店升级从1.5.0到1.6.0,我知道我是怎么这样做,但我对我需要使用命令有点不确定.

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

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

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

所以,到目前为止,我有三个位置,我想"合并":

  1. 生产(git)
  2. Magento镜子(git)
  3. 主题(不是git或svn,普通旧目录)

我正在考虑将Magento镜像作为分支添加到我现有的git repo中,称之为1.6.0或类似.然后以某种方式将普通主题目录和文件拉入主分支......

我在正确的路线上吗?

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

Ant*_*n S 6

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

1.我的网站不是git

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

我的网站已经在git中了

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

有一个如下的git设置是很常见的:

  • MAGENTO MASTER - >遥控器有所有MAGENTO版本

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

    • 分支:yoursite_dev
    • 分支:yoursite_stage
    • 分支:yoursite_live

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

基于理论端点的命令

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
Run Code Online (Sandbox Code Playgroud)

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