繁体   English   中英

git工作流程复杂

[英]git workflow with a complication

我在一个小团队中工作,开发一种可以处理大量昂贵数据的产品。 由于与此数据相关的成本,因此不可能在本地完全测试代码。 取而代之的是,我们有一个供客户查看的生产服务器和一个用于测试的登台服务器。 同样,我们有一个与生产匹配的分支(我们使用的是“ master”),还有一个与阶段匹配的分支(称为“ staging”)。

我已经在git工作流程的主题上做了很多搜索,但是他们似乎都假设团队在某个开发分支上流失了(可能是直接开发,也可能是使用合并的功能分支)。 并且当该分支中的所有内容都可以使用时,它会合并到生产分支中(可能首先通过“发布”分支),然后重复该过程。 这就是流行的成功Git分支模型的工作方式。

问题在于我们的“ staging”分支(这是我们在上述“成功的Git分支模型”中最接近“ develop”分支的事物)通常都具有处于完整性各个阶段的代码。 由于我们无法在本地完全测试我们的代码,因此不完整或损坏的代码通常会出现在登台分支中,因此实际上可以针对我们的应用在登台服务器上处理的可笑数据量进行测试。 我们不能等到暂存分支中的所有内容都完全完成,测试和工作后再发布产品。

那么解决这个问题的最佳方法是什么? 到目前为止,我已经尝试过:

  1. 基于“登台”分支的功能分支可以合并成登台,然后在准备好后挑选给母版。
  2. 合并为暂存进行测试的功能分支,并在准备就绪时合并为主分支。 不确定是否最好将这些分支建立为暂存或主站...

无论哪种方式,我都会遇到合并冲突,而实际上没有冲突,因为历史变得越来越复杂。 真烦人。 必须有更好的方法来做到这一点!

不管怎样,您冒着提交阶段进行交互的风险,这种交互在生产中不会发生,因为您没有将所有提交阶段的提交移动到一起进行掌握,但是您一直在进行测试一起上演。

我认为git很难做到这一点,因为它不是一个好主意:-/如何使用功能翻转,以便某些功能仅在登台环境中处于活动状态,但是可以随时将代码推入生产环境? 这将需要您的团队对开发进行思考的方式进行更改-而不是更改现有代码,有时您必须通过应用程序添加一条并行路径,该路径使用新功能,最终将大量替换现有功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM