我希望收集一些有关使用 Git 作为管理公司和客户环境的方法的信息。那就有点罗嗦了。
几十年来,我们一直在手动设置客户环境,但正在寻求自动化一些流程并确保每个人都受到版本控制。此后,我们为此目的建立了一些存储库和 Jenkins 构建机器。我很好奇如何继续前进。所有客户是否都应该位于同一存储库中,但基于各种因素位于存储库的不同分支上?
对于一百个左右的客户,每个客户都有自己的存储库或分支可能有点矫枉过正。我最初的想法是,由于所有程序(减去数据和配置文件)都保存在版本控制范围内,因此我们的软件的几个不同版本将有一个分支。例如,这些可能是 Alpha、Beta 等。在更改被认为是稳定后,我怀疑分支将被 merge (Alpha 到 Beta)或更改列表将被精心挑选。虽然这看起来好像是一个非常麻烦的过程。
非常感谢任何阅读 Material 。我居然找到了this ,第一个答案对于我们 future 的测试和部署建模非常有帮助。
最佳答案
一般来说,分支多用于以下情况之一:
- 分支最终将 merge 在一起(例如本地开发分支)
- 预计分支不会非常活跃,最终会消亡(例如,用于发布和修复一些错误的分支)
如果您要求的话,您可以使用分支来长期管理多个类似的配置,但我认为它不太可维护。特别是,如果您有许多客户(分支机构)需要跟踪。
不幸的是,我不太了解您的具体问题,但似乎每个客户都应该获得一个单独的存储库。但是,如果客户之间存在共享配置,则可能有更好的方法来对问题进行建模(而不是在每个存储库中复制共享配置,或使用分支)。
关于git - 将 Git 用于客户的软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069376/