Drupal中的Git工作流程

时间:2013-07-10 18:02:31

标签: git drupal drupal-7 workflow

我正在尝试使用Git with Drupal来适应工作流程(Dev,Test,Live)。

所以最初,当现场网站尚不存在且我们只处于开发阶段时,事情很容易。因此,开发人员开发了一个新的站点来创建节点,创建内容类型,上传图像以便在节点中使用,配置Drupal设置,创建主题等。当一切看起来都很好时,我们可以将所有内容(代码和dB)推送到测试服务器并拥有产品所有者检查出来。如果某些事情不对,我们会在dev上修复它,然后再次推送测试。当我们对我们的新网站感到满意并准备好上线时,我们会推动从测试到实际的一切。但是,这是令人困惑的地方。我已经读过,正确的Git工作流程是代码只向上游移动而数据(数据库和站点/默认/文件)向下游移动。所以如果我只在dev上开发自定义模块或者在dev上安装一个新的贡献模块并且需要将代码推送到上游,那么这很好,但实际创建新内容呢?如果其中一个开发人员的任务是在dev上创建一个新页面,该页面由菜单中的新菜单项组成,并包含一些通过IMCE或实际图像上载字段上传到/ sites / default / files / images的图像在自定义内容类型?这些都不在代码中,然后可以使用Git向上游推送。我知道有功能模块可以处理配置设置,视图,内容类型等内容,但实际内容和支持图像呢?当/ sites / default / files永远不会进入上游并且无法将内容放入代码时,如何获得新内容和图像UP以进行测试和生存?一旦网站建立起来,您是否只在实时服务器上创建新内容?你是在Dev上创建的,然后在测试时再创建它,然后再在AGAIN上创建吗?

我只想弄清楚一旦网站上线,开发者如何继续使用新内容创建网站的新部分并推送它。

提前致谢。

2 个答案:

答案 0 :(得分:2)

正如您所注意到的,内容向下游移动:因此,当代码移动dev -> test -> live时,内容只能移动live -> test -> devlive -> testlive -> dev

您希望仅在实际网站上创建内容 - 如果需要 - 使用草稿或其他功能隐藏用户未完成的内容。

通常你在dev / test中不需要相同的内容,因为这些站点是用于代码质量测试的 - 你不应该关心保持实时,测试和开发内容的同步。

答案 1 :(得分:-1)

你可以参考GIT中的分支概念你可以为不同的环境维护不同的分支参考这个链接     http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging