git存储库到暂存站点到实时站点

时间:2012-01-18 20:42:06

标签: git magento structure live staging

我只是在学习git及其基本原理。我有一个现场Magento商店正在运行,需要尽快版本控制它。我已经在我的工作机器上加载了git,并且已经设置了存储库,添加,提交和推送文件。我已使用Assembla和免费帐户(暂时)测试了我的设置,一切都很好。

我仍然无法进行物理变化。我想实现以下目标(我想!):

  1. 从实时网站查看需要在本地计算机上使用的文件
  2. 在Dreamweaver中进行本地更改(我正在使用GITweaver,并且可以轻松地与我的repo进行通信)(另外,如果有更好的解决方案,我不反对更改文本编辑器/ IDE)
  3. 将回购推送到'暂存'网站进行审核&和我的伴侣一起测试这是我目前失去的地方。将回购发送到实际网站的过程是什么?
  4. 接受审核和更改后,将回购推送到“直播”网站。
  5. 因此,我需要帮助解决几个重要问题。

    • 您是否从实际网站或舞台网站结帐文件?有没有首选方法?
    • 舞台网站是否应该一直反映现场网站?
    • 'dev'网站和'舞台'网站的目的是什么?它们不一样吗?
    • 大多数人在设置中做了什么以及为什么?我需要一个很好的解释stage vs dev。

    我们商店/项目的一些有用背景:

    • 我是唯一的开发人员,我可能会在一段时间内成为唯一的开发人员
    • 我正在使用Windows机器开发,我们的托管是通过HostGator
    • 我的合作伙伴只需要查看舞台网站,以便我们可以一起查看更改,他无需查看存储库。

    如果有人可以为像我这样的人做过指导教程或者类似工作,我会很高兴,他们做了所有事情,现在没有时间一步一步地学习git。

2 个答案:

答案 0 :(得分:5)

  

将回购邮件发送到实际网站的过程是什么?

Git没有内置的功能。你需要定期编写一个脚本(例如,每五分钟一次)或按需从中央仓库中抽取一些分支。 (我假设你在某个地方有一个Git服务器。)

您可以为生产环境执行相同的操作,方法是让登台服务器拉出master,然后让生产服务器拉出分支production

答案 1 :(得分:4)

@larsmans对你有一些非常可靠的建议 - 我想我会覆盖你的其他点来试图帮助你。

将您的dev服务器视为您(以及可能的其他开发人员)制作,测试和完成更改的位置。将stage服务器视为显示其他利益相关者在转到production或实时网站之前的潜在变化。

我个人为每个服务器使用一个分支(我们甚至将本地计算机指定为alpha服务器,然后再转到dev / staging),并按层次结构考虑它们:

  1. 阶段
  2. dev的
  3. 阿尔法
  4. 更改从alpha开始并向上合并 - 因此从alpha开始的错误修正合并或cherry-picked合并到dev,检查,然后向上推到{{ 1}}并最终到stage。要进行更新,分支只是prod并以这种方式同步。每个服务器都有一个repo的副本,在出现任何问题时可以提供额外的冗余。

    我们拥有自己的git存储库使用pulled,我们(轻松)自定义它来处理@ larsman的答案中描述的gitolitepush职责 - 不幸的是,因为你'在共享主机上,这可能不是您理想的解决方案。无论哪种方式,你都应该考虑运行VPS,因为Magento是非常耗费资源的,加载时间也会受到很大影响 - 这是尝试让Magento在HostGator上工作的人的第一手建议。