基本的git工作流理解

基本的git工作流理解,git,git-svn,magento,Git,Git Svn,Magento,我有一些基本的git问题,我还不明白,我希望有人能帮助我。假设我正在从事一个Magento项目,我在本地运行它,但我想让它上线。所以我使用git将我的商店推送到我的服务器。在Magento提供更新之前,一切正常。所以我的问题是: 我在本地目录中进行任何更改,git add+git提交这些更改,但是当我通过Magento Connect从1.7更新到1.7.1时,我的服务器上的设置将与本地计算机上的不同,对吗 那么我该怎么做,让他们平等吗?我是否必须从服务器上运行的版本进行签出并将其替换为本地ma

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

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


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

从版本控制的角度来看,您不希望开发环境和live环境位于同一分支上。例如,您可以使用
master
分支进行开发,然后在
stable
分支上创建活动环境。还有具有多个
功能
发布
修补程序
分支的分支结构。但现在让我们保持简单

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


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

从版本控制的角度来看,您不希望开发环境和live环境位于同一分支上。例如,您可以使用
master
分支进行开发,然后在
stable
分支上创建活动环境。还有具有多个
功能
发布
修补程序
分支的分支结构。但现在让我们保持简单

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

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

我(正在尝试)使用我的Magento安装和升级。恕我直言,没有办法无缝升级Magento live站点。在某种程度上,当数据库重建到新版本时,需要停机来阻止订单的到来

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

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

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

我(正在尝试)安装和升级Magento。恕我直言,没有办法无缝升级Magento live站点。在某种程度上,当数据库重建到新版本时,需要停机来阻止订单的到来

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

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


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

嘿,谢谢你的回答。因此,我昨天通过Magento connect将我的Magento店铺更新为1.7.0.1时出错了:/只是为了澄清:与其在线更新我的店铺,我还不如下载更新,而不是更新我的本地店铺,并在测试后推送到我的实时环境?开发PHP项目并拥有本地和实时环境的常用方法是什么?将本地环境存储在htdocs文件夹中,以便能够在本地服务器上进行测试,这是一种好的做法吗?然后运行git init it这个文件夹并实时推送我的项目?谢谢最后一个问题:如何修复更新shop live的错误?您总是希望本地代码库是分支的克隆(git克隆)。所以在这种情况下可能是“主人”。然后在更改后,您可以将它们推送到存储库。之后,您可以在本地切换到另一个分支“stable”,然后合并或选择对该分支的新提交。然后再次将您的工作推送到存储库。在此之后,您可以检索实时环境中的更新;这应该是稳定分支的git克隆。关于你的“错误”。如果您当时没有运行版本控制,则几乎不可能恢复此更改。您可能只是想将一个新的代码库上传(而不是git克隆)到该环境中。此外,您还必须找出对数据库所做的更改,并手动将其还原,或者如果可能,只需安装一个新的数据库,但这可能是不可能的。您可能已经在那里安装了实时数据。1.7.0.1的更新进行得很好,一切正常。难道不可能,git拉我的生活环境并用我的本地环境替换它吗?之后,我创建了一个本地大师的分支,名为“dev”,用于将来的开发。从现在起,我将维护一个公共环境,将我的“开发”和“稳定”代码库分开。那对我有好处吗?嘿,谢谢