基本的git工作流理解

时间:2012-08-14 16:54:46

标签: git git-svn magento

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

我在我的本地目录中进行了任何更改,并且git add + git提交了它们,但是当我通过Magento Connect从1.7更新到我的Magento Connect时,我将在服务器上设置不同的设置然后我在本地电脑,对吗?

那么我该怎么办,是否要让它们平等?我是否必须通过服务器上的版本进行结帐并将其替换为我当地的magento?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

我(正在尝试)use this workflow我的Magento安装和升级。恕我直言,没有办法无缝升级Magento现场网站。在某些时候,需要停机时间来停止在数据库重建到新版本时进入的订单。

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

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

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