1

嘿伙计们,我一直想知道这是否可行?我已经思考了好几个小时了,我无法理解它!

假设我有 X 客户对电子商务/cms 系统感兴趣(基本上是什么),在我的完美世界中,我希望有这种情况(如果你认为我疯了,请说服我!我愿意接受不同的建议):

Software Repository ( A ) 是电子商务系统或 cms,最新版本。这将根据供应商发布周期定期更新。(是的,我知道在这里对软件依赖项进行版本控制可能不是最好的主意,但我很感兴趣这个 3 层“蛋糕”是否真的可行)。

Design Repository ( B ),其中多个包含某种基本样式以开始。与软件供应商的方法相关。

Client Repository ( C ),这将是 A 的主人的初始结帐,包含某种设计风格,比如 B-2。并将使用特定的客户端功能、样式等进行更新。

现在假设我们已经让客户对我们的项目感到满意,我想让他们更高兴地通过提供定期更新来保持他们的 CMS / 电子商务解决方案的安全,有没有(简单的)方法来做这种时尚工作:

  1. 使用新版本的电子商务/cms 软件更新软件存储库
  2. 提交这些更改
  3. 将这些更改拉入相应的设计中(当然,如有必要,还会产生多个)。并提供设计或其他任何新功能的更新。
  4. 将这些更改提交到特定的设计存储库。
  5. 现在我们开始拉取我们的客户端存储库并使用之前的更改更新它们,之后我们就可以部署了。

我似乎弄清楚这一点的唯一方法是基于单个存储库中多个分支之间的 git-rebase,但这对我来说似乎不是理想的解决方案。

我是个疯子吗?还是我需要用鳟鱼来一口,然后得到一个简单的解决方案?

感谢您抽出宝贵时间阅读/回复!

4

1 回答 1

0

在我看来,最好 1) 启用软件的不同配置,如果失败 2) 使用 Git 分支。

我认为维护单个代码库会更容易。尝试将大多数差异作为基于配置文件或类似内容的配置启用。

如果你真的需要在不同版本的代码中存在巨大且永久的差异,请使用永久的 Git 分支,这样你至少可以轻松地在分支之间mergecherry-pick特性和补丁。

于 2013-06-26T22:20:47.743 回答