gpt4 book ai didi

git - 如何管理针对不同客户的常见产品定制的源代码

转载 作者:行者123 更新时间:2023-12-05 06:37:31 25 4
gpt4 key购买 nike

我的公司在一年多前为客户创建了一个 Web 应用程序并成功部署了它。源代码存储在一个 git 仓库中。

现在许多其他具有不同需求的不同客户希望获得此 Web 应用程序,但具有他们自己的(或大或小,取决于客户)定制。我说的不仅是外观,还有在现有和可用的 Web 应用程序之上专门为他们开发的新功能。

在某些方面,我们有一个基本的工作“产品”,我们希望根据客户的需求进行定制,但我们无法通过开/关开关来管理此类定制,它们太多了,而且会一团糟。

现在的问题是我们如何有效地管理源代码?

我们正在考虑为每个客户创建一个不同的存储库,以便将自定义和配置很好地分开,每个新客户都会有一个基本 Web 应用程序的分支。这会导致一些问题。仅举一个例子:当我们必须修复一个常见问题或添加/更改一个常见功能时,我们将不得不手动复制 N 个存储库上的修复/更改。

有没有我们可以应用的模式、最佳实践、方法或工具来让事情变得简单?

最佳答案

管理不同客户间的相似代码通常有两种方式:

  • 选项 1:在同一存储库的单独分支中管理每个客户的代码。
  • 选项 2:在单独的存储库中管理每个客户的代码。

如果客户只有repo级别的权限,而不是某个branch的权限,最好把源码放在单独的repos中管理,这样客户的隐私才不会泄露。

对于基于公共(public)仓库更新 N 个仓库的问题,您可以从公共(public)仓库中挑选最后一次提交分别到 N 个仓库:

# In a local customer repo
git remote add common <URL for the common repo> -f
git cherry-pick common/master -X theris

当然,您可以通过脚本同时从普通存储库中挑选提交到 N 个存储库。

关于git - 如何管理针对不同客户的常见产品定制的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47711339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com