1

我有一些基本的 git 问题,我还不明白,希望有人能帮助我。假设我正在做一个 Magento 项目,我在本地运行它,但我想把它带到网上。所以我使用 git 将我的商店推送到我的服务器。在 Magento 提供更新之前一切正常。所以这是我的问题:

我在本地目录和 git add + git commit 中进行了任何更改,但是当我通过 Magento Connect 将我的 Magento Shop 从 1.7 更新到 1.7.1 时,我的服务器上的设置与本地计算机上的设置不同,对吧?

那么我该怎么做,让他们平等?我是否必须从我的服务器上运行的版本中签出并用我的本地 magento 替换它?

4

2 回答 2

1

从版本控制的角度来看,您不希望您的开发环境和实时环境在同一个分支上。例如,您可以使用master分支进行开发,然后将您的实时环境放在stable分支上。还有具有多个feature,releasehotfix分支的分支结构。但现在让我们保持简单。

关于更新。您永远不想直接在实时环境中运行它们。回滚相关的数据库更改几乎是不可能的。因此,请始终更新并将您的工作从开发推向上游,而不是相反。

因此,请始终在您的开发环境(因此是 master 分支)上进行升级,并在测试后将它们提交到您的存储库。之后,您可以合并或挑选到另一个分支。然后更新实时分支(即 git pull 或 git fetch、git rebase)以部署升级。

于 2012-08-14T17:46:29.900 回答
0

我(正在尝试)将此工作流程用于我的 Magento 安装和升级。恕我直言,没有办法无缝升级 Magento 实时站点。在某些时候,当数据库重建到新版本时,需要停机来阻止订单进入。

我得到的最接近的是设置另一个运行新版本的云实例,并在解决所有错误后对数据库进行核对。然后导入当前的实时数据库并让新的 magento 主机在其上运行一段时间。

然后决定是否在升级完成后禁用需要手动输入数据的旧站点。

然后,一旦新的 Magento 主机工作,切换域以指向新实例。

于 2012-08-15T18:27:11.733 回答