Skip to main content

moregeek program

开源项目 spartacus 的 git 分支使用规范-多极客编程

Spartacus 开源项目里存在如下的 git 分支:



  • feature/GH-xxxx 分支用于简单的功能和错误修复
  • epic/epic-name 分支用于大功能的开发
  • release/1.4.0-rc.0 分支用于特定的发布(你可以将它们与维护分支区分开来,因为包含了完整的版本号)

Epic 开发流程


以下是使用 epic 的步骤:



  • 从 develop 分支创建一个新的 epic/epic-name 分支。
  • 从 epic/epic-name 为 epic 子任务创建分支,并将它们合并回 epic/epic-name 分支。
  • 在开发过程中刻意地用开发分支的更改更新 epic 分支,这将帮助你管理冲突。
  • 当 epic 开发完成后,创建一个 PR 并将 epic 分支合并到开发分支。

下图是 Spartacus 里一个 epic 分支的例子:



小功能的开发流程



  • 从 develop 分支创建一个新的 feature/GH-xxxx 分支。
  • 开发你的功能。
  • 完成后,创建一个 PR 并将 feature/GH-xxxx 分支合并到 develop 分支。

下面是这种分支的一个例子:


以下是我们目前使用的一些术语:




  • 功能冻结: Feature freeze: 描述了我们完成了新的次要或主要版本的所有功能的时刻(这意味着我们希望很快发布 rc,但仍需要修复一些错误)。




  • 代码冻结: Code Freeze: 描述了我们停止提交代码的时刻(尽管我们的流程不需要这样做,因为我们总是可以切断发布或维护分支并继续提交)。




我们可以创建一个新的维护分支并发布一个新的 rc,而不是冻结功能。 第一个 RC 可能有 bug,因为 rc 版本可能包含 bug 是公认的。


我们可以创建一个新的发布分支,而不是冻结代码。 我们永远不需要阻塞主要的开发或维护分支(我们不需要用这些细节来打扰开发人员,因为我们的流程支持在这些分支上并发工作并发布另一个版本)。


©著作权归作者所有:来自51CTO博客作者JerryWang汪子熙的原创作品,请联系作者获取转载授权,否则将追究法律责任

开源项目 spartacus 的 git 提交流程规范-多极客编程

Spartacus 开源项目由一组库组成。为了更容易知道哪个版本的库与另一个版本兼容,库版本在所有包中同步。 这意味着当我们要发布 1.5.0 版本时,我们会发布该版本下的所有库,即使某些库与上一个版本相比没有任何变化。 这样一来,我们可以使用单个版本号来指代任何给定版本的整套 Spartacus 库。 如下图所示,Spartacus 项目 Angular.json 文件里一个个类型为 libra

apache 虚拟主机里的 servername 指令-多极客编程

术语虚拟主机(Virtual host)是指在一台机器上运行多个网站(例如 company1.example.com 和 company2.example.com)的做法。 虚拟主机可以是“基于 IP”的,这意味着每个网站都有不同的 IP 地址,也可以是“基于名称的”,这意味着在每个 IP 地址上运行多个名称。 它们在同一台物理服务器上运行的事实对最终用户来说并不明显。 <VirtualHo

sap gateway 在开发系统和生产系统上的缓存控制-多极客编程

SAP Gateway 元数据缓存可以启用和禁用,并且在非生产系统中默认停用。 我们推荐以下缓存设置: 开发系统 应该禁用 SAP Gateway 元数据缓存,以便始终获取最新的元数据(默认设置)。 OData 通道应用程序应在其模型提供程序类的 GET_LAST_MODIFIED 方法中设置最新时间戳或坚持默认实现。 生产系统 应始终启用 SAP Gateway 元数据缓存以提高性能(默认设置)

参加 spartacus 开源项目开发时需要注意的一些编程规范-多极客编程

我们使用 NgRx 存储来管理 Spartacus 功能中的全局应用程序状态。 使用 NgRx 在性能、更好的可测试性和易于故障排除、方面具有明显的优势。 除非有令人信服的理由不这样做,否则在某项 feature 的开发里,请总是使用 Rgrx 来管理状态。 使用 Store 并不意味着我们需要缓存所有内容。 缓存应该有目的的使用,并在有意义的地方使用。 通常,CMS 数据是缓存的良好候选者,而应

精华总结 |「跨越疫情之境,迈向新的征程」盘点一下2022年度我们开发团队对于云原生的技术体系的变革历程-多极客编程

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。「新的挑战已开启,回顾2022年最开心的两件事」一转眼,2022年就这么悄无声息的过去了,对我而言,最高兴的就是新冠疫情已经不是那么可怕了,大家不需要再担心天天怎么去排队做核酸了,哈哈......,相信你也有同感吧!同时也见证了足球史上非常伟大的一幕,梅老板终于圆梦,举起了期盼已久的大力神杯,再次回味一下这个时刻

【深入浅出sentinel原理及实战】「基础实战专题」零基础实现服务流量控制实战开发指南(2)-多极客编程

你若要喜爱你自己的价值,你就得给世界创造价值。Sentinel的组成部分Sentinel 主要由以下两个部分组成。Sentinel核心库(Java客户端) :Sentinel的核心库不依赖任何框架或库,能够运行于Java 8及以上的版本的运行时环境中,同时对 Spring Cloud、Dubbo 等微服务框架提供了很好的支持。Sentinel控制台(Dashboard) :Sentinel提供的一

jquery选择器-多极客编程

什么是jQuery选择器? 能够选择使用网页上的元素,跟css选择器类似jQuery选择器的优势 1.相比于JavaScript节点获取元素,更容易控制元素 2.内部添加了特有的选择器。如奇数选择器,偶数选择器 3.更简单,更容易理解基本选择器 标签 id 类 并集选择器 $("h1,p,li") 全局选择器 $("*")层次选择器

开源项目 spartacus 的 git 提交流程规范-多极客编程

Spartacus 开源项目由一组库组成。为了更容易知道哪个版本的库与另一个版本兼容,库版本在所有包中同步。 这意味着当我们要发布 1.5.0 版本时,我们会发布该版本下的所有库,即使某些库与上一个版本相比没有任何变化。 这样一来,我们可以使用单个版本号来指代任何给定版本的整套 Spartacus 库。 如下图所示,Spartacus 项目 Angular.json 文件里一个个类型为 libra

jquery事件与动画-多极客编程

什么是事件? 事件是指用户对文档进行访问的一种交互行为鼠标事件 click 鼠标单击元素时 mousemove() 鼠标移入元素时 mouseout() 鼠标移出元素时 mouseenter() 鼠标进入元素时 mouseleave() 鼠标离开时 注意:鼠标移入和移出的区别 移入:只要在元素内移动就会触发 进入:只要在元素内,不管怎么移动,只会触发一次键盘事件

【java技术专题】「原理专题」深入分析java中finalize方法的作用和底层原理-多极客编程

finalize方法是什么finalize方法是Object的protected方法,Object的子类们可以覆盖该方法以实现资源清理工作,GC在首次回收对象之前调用该方法。finalize方法与C++的析构函数的区别finalize方法与C++中的析构函数不是对应的,C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的finalize的调用具有不确定性,不建议用

php实现curl重试机制-多极客编程

前言,最近接手的项目中需要跨网络调用其他项目服务的API。由于网络中存在各种复杂的因素,导致curl请求偶尔出现下面错误。 Failed connect to www.xxx.com:80; Connection timed out 做了一下几点尝试: 抓包分析,也没有分析出个所以然。 以为是尝试连接的等待时间太小了,于是通过调整增大CURLOPT_CONNECTTIMEOUT参数,

js表单效验-多极客编程

什么需要表单验证? 1.减轻服务器的压力 2.保证数据的完整性、有效性表单效验的步骤: 1.获取表单元素输入的值 2.对表单数据进行判断处理 3.使用事件对数据进行提交表单选择器: $(":input") 选中所有input元素 $(":text") 选中所有的文本框 $(":paassword") 选中所有的密码框 $(":radio") 选中所有的单选