git - 使用 Git 升级 Magento

标签 git magento merge github upgrade

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

首先,我在生产服务器上有我当前的商店,我有 git 设置,并且存储库的副本位于我们的 Beanstalk 上。帐户。我有该存储库中更改等的完整历史记录,并且理想情况下希望保留这些内容。

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

由于 Magento 使用 SVN 作为他们的 CVS,我在 Github 上找到了 Magento 版本的镜像。

到目前为止,我想“merge ”三个位置:

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

我正在考虑将 Magento 镜像作为分支添加到我现有的 git 存储库中,并将其命名为 1.6.0 或类似名称。然后不知何故将普通主题目录和文件 pull 入主分支......

我的路线正确吗?

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

最佳答案

这相当简单,但您必须确保您的网站基于某个主存储库,该存储库可以与早期版本 merge 到流中(该存储库将所有 Magento 版本作为标签或分支,可以从第一个版本 merge 到最新版本) 。所以这里有两种情况需要遵循

1。我的网站不在 git 中

  1. 首先从具有所有 magento 版本的主存储库进行克隆(至少克隆到您当前使用的版本)
  2. 获取克隆并使用您当前使用的版本 checkout 新分支
  3. 将您当前的网站复制到此版本
  4. 完成后,“git status”将向您显示与您开始使用的原始版本的差异以及您对其所做的所有编辑
  5. 现在可以智能地将所有核心编辑移动到本地代码池,并将核心中的任何更改恢复到原始文件,将默认或基本模板中的任何编辑移动到您自己的模板,并恢复默认或基本模板文件中的更改。所有看起来针对原始版本进行修改的文件也是如此。这给了你“我的所有更改都与原始代码分开,它们不会与我的升级发生冲突”,提交此状态是明智的
  6. 如果所有内容都与原始文件分离,那么就该升级了。打开默认主题,禁用所有本地和社区扩展,将新版本 merge 到当前分支。访问该站点以执行升级
  7. 现在您的网站已升级,您可以一一打开主题和自定义扩展,看看哪些兼容,哪些不兼容。一一调试解决

我的网站已在 git 中

  1. 如果它基于包含所有版本的存储库,则说明您处于良好状态(跳过 2)
  2. 如果不是,那么您可以添加一些将其全部作为远程的存储库,并开始 merge 当前版本并将更改与原始版本分开,如第一个场景中所述
  3. 为您当前使用的网站创建一个新分支
  4. 与新版本 merge
  5. 禁用所有本地社区扩展、启用默认主题并升级
  6. 逐一启用主题、扩展并调试发生冲突的地方

通常有如下所示的 git 设置:

  • MAGENTO MASTER -> 拥有所有 Magento 版本的远程源

  • 您的大师 -> 远程来源是 MAGENTO 大师

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

您始终在 your_dev 分支上进行开发,如果更改已准备好进行评估,您可以将 _stage 与 _dev merge ,如果更改获得批准,您可以将状态从 _dev 或 _stage merge 到 _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

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

关于git - 使用 Git 升级 Magento,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7268171/

相关文章:

git - 使用 Google Code 项目验证 SourceTree

git - 使用https时如何通过防火墙访问Github扮演中间人?

javascript - 如何在angularjs中合并两个对象数组?

python - 合并列表列表

join - 如何通过在hadoop中合并两个文件在hdfs中创建文件

git - 从 TFS 迁移 -> GIT...如何保留分支的历史记录

github fork 从原始 repo 获取所有更改

php - Magento 网格列位置

php - Magento Magmi 的 hhvm nginx toString 服务器错误

magento - magento 中使用 EBS 支付网关进行定期付款(EMI)