Php 使用git维护不同版本webapp的工作流?
在我的公司,我们使用git已经有几个月了(我们对此感到高兴),但我们仍然没有完全100%地使用git 我们的主要产品是一个网站,我们提供不同的语言(前端+管理后端)。其中一些网站提供了其他网站不应提供的功能(例如,需要在给定表单中填写的字段类型、不同的验证规则集等) 由于这些差异非常小,我们现在使用一个配置文件来确定网站是否应该使用特定的元素。但我想,当网站之间的差异越来越大时,这将导致问题 我想使用不同的分支会使维护更容易,但是如何使用一个共享的核心来维护不同的分支呢?我们还没有使用像Capistrano这样的部署工具(但正计划这样做),所以目前不可能从master到所有不同分支进行无休止的手动挑选 那么,在这种情况下,分支机构如何帮助我们呢Php 使用git维护不同版本webapp的工作流?,php,git,cakephp,Php,Git,Cakephp,在我的公司,我们使用git已经有几个月了(我们对此感到高兴),但我们仍然没有完全100%地使用git 我们的主要产品是一个网站,我们提供不同的语言(前端+管理后端)。其中一些网站提供了其他网站不应提供的功能(例如,需要在给定表单中填写的字段类型、不同的验证规则集等) 由于这些差异非常小,我们现在使用一个配置文件来确定网站是否应该使用特定的元素。但我想,当网站之间的差异越来越大时,这将导致问题 我想使用不同的分支会使维护更容易,但是如何使用一个共享的核心来维护不同的分支呢?我们还没有使用像Capi
master
|
- english
|
- german
|
- french
(澄清一下:这不是关于l10n/i18n,而是关于在分支之间共享核心功能)其他人也尝试过,并说“听起来你想使用子模块。这将允许您将所有共享功能保留为一个存储库,并将各个站点保留为其自己的存储库,以跟踪共享子模块中的更改。很多不错的(虽然有点简洁,与git文档一样),包括一个网络广播 从链接页面: Git的子模块支持允许 要包含的存储库,如 子目录,一个 外部项目。子模块维护 他们自己的身份;子模块 支持只存储子模块 存储库位置和提交ID,因此 其他克隆 包含项目(“超级项目”) 可以同时轻松克隆所有子模块 同样的修订。部分退房 超级项目的目标是可能的:你 可以告诉Git克隆无、部分或 所有子模块 编辑:
如果您想保留分支结构,我想您可以创建一个钩子脚本(in.git/hooks/),该脚本检查每个特定于语言的分支,并在您提交到该分支时合并来自共享分支的最新提交。因此,您有一个共享分支,每种语言有一个分支,您基本上会对共享分支进行提交,它们会自动合并到其他语言中。我认为这听起来不是一个好的解决方案,而且还没有尝试过。如果您想尝试一下,请查找有关挂钩的信息。我认为子模块更自然。这看起来很有趣,谢谢。但我想在使用分支轻松更新共享代码时没有办法?