phoben 发表于 2024-4-28 10:33:02

希望能够加强活字格的Git版本管理

本帖最后由 phoben 于 2024-4-28 14:33 编辑

随着项目越来越多,对于一些复杂项目,我们肯定是要用到Git的多分支方案来管理项目开发,尤其在系统进行版本升级时,在这期间原版本还需要持续进行维护、优化、BUG修复,所以Develop分支的作用就十分重要。

按照官方的最佳实践指导 我们采用的是master + develop+hotfix 三分支模式,但在经过几个项目的实际运作下来,还是存在问题
具体问题表现在下图的第6点




在实际场景中,即使只有master和develop两个分支,
合并也来没有成功过,强行使用Git命令合并,会造成master工程报错打不开。
解决的方法是手动另存为本地文件,然后通过"创建工程"覆盖到master。

git push origin develop:master -f


因为master与develop分支所部署的环境不同,所以部分逻辑、命令参数、认证方式等有所不同,这样直接将develop覆盖到master,会导致每次都要手动把这些命令再更正一次,工作量比较大。

如果能像代码一样的合并逻辑,我们可以选择哪些要合并,哪些采用原本的,就比较完美了。

Brian.Zhang 发表于 2024-4-29 12:15:06

超哥,看到您的说的部分逻辑、命令参数、认证方式等有所不同。对于这些,是可以从设计器签入时选择是否忽略的,如下图:

phoben 发表于 2024-4-29 12:18:14

Brian.Zhang 发表于 2024-4-29 12:15
超哥,看到您的说的部分逻辑、命令参数、认证方式等有所不同。对于这些,是可以从设计器签入时选择是否忽略 ...

不是这个意思,假设:我develop分支参数一直都是A,只有A才能跑通,而master分支因为部署在内网,参数必须为B。
我在更新完版本后,将develop合并到master后,master的工程就被被覆盖,参数也就成了A,和签入没有关系。

willning 发表于 2024-4-29 13:52:47

本帖最后由 willning 于 2024-4-29 14:06 编辑

phoben 发表于 2024-4-29 12:18
不是这个意思,假设:我develop分支参数一直都是A,只有A才能跑通,而master分支因为部署在内网,参数必 ...
在设计器提供合并功能之前,可以先这么弄:


把这个参数做成全局变量,在发布后的应用管理界面上修改。如果涉及的很多,也可以在全局变量中只放一个:ENV,然后在活字格工程里面,做条件判断,如ENV是local、cloud,走不同的逻辑。


认证模式这种无法放在全局变量里的,就比较麻烦了。

phoben 发表于 2024-4-29 14:15:35

willning 发表于 2024-4-29 13:52
在设计器提供合并功能之前,可以先这么弄:




是的,全局变量一定程度上可以解决这种情况,不过有些参数都是下拉框、单选框等,不能直接引用变量,需要用IF做判断,同时也会造成逻辑变得更加复杂。

最不济,我每次重新设置便是,倒也不是因为这个问题无法运行,只不过想着提出来给官方做个参考,看未来是否考虑将Git代码合并的问题优化优化,从源头上解决。

willning 发表于 2024-4-29 15:15:49

phoben 发表于 2024-4-29 14:15
是的,全局变量一定程度上可以解决这种情况,不过有些参数都是下拉框、单选框等,不能直接引用变量,需要 ...
还可以在数据库中建一个OptionSettings表,专门存配置项。
hard code配置信息,而且还是有明确的环境依赖的配置信息,肯定不是好做法。
页: [1]
查看完整版本: 希望能够加强活字格的Git版本管理