该文章介绍了两个开源项目:UGit和mall项目。UGit是一款为腾讯内部研发环境定制的Git客户端,旨在提高开发效率和团队协作的流畅性,具备大文件管理、快速提交、工蜂锁机制、检出子目录等功能。而mall项目则是一个基于SpringBoot3和JDK 17的电商系统,采用Docker容器化部署,涵盖商品、订单、购物车、权限等功能的完整电商流程。文章还介绍了UGit的特色功能,如快速提交、工蜂锁等,并提供了相关资源的链接和推荐阅读。
UGit是一款为腾讯内部研发环境定制的Git客户端,提供便捷的大文件管理、快速提交、工蜂锁机制以及支持检出子目录等功能,提升团队协作效率和数据处理能力。
mall项目是一套基于SpringBoot3和JDK 17的电商系统,采用Docker容器化部署,包括前台商城和后台管理系统,支持完整的电商流程,涵盖商品、订单、购物车、权限、优惠券等功能。
UGit具备加速服务、钩子定制、定时任务、仓库同步服务等多项特色能力,可以满足大型项目和团队的各种需求。
微服务项目学习:cloud.macrozheng.com
UGit 是一款为腾讯内部研发环境特点而定制的 Git 客户端,旨在提高开发效率和团队协作的流畅性。UGit 支持 macOS 10.11+、Apple Silicon 和 Win64 位系统。
主要特性
Ugit 提供便捷的大文件管理、快速提交、工蜂锁机制以及支持检出子目录等特性,极大提升了大型团队的协作效率和数据处理能力,是专业开发者不可或缺的工具。
便捷的大文件管理
- 内置 LFS 模版,腾讯众多大型项目 LFS 管理经验沉淀,尤其是游戏项目。
- 支持对仓库或工作区进行大文件分析,以便于更好的配置 Git LFS 规则。
- 提交时,可根据工蜂单文件大小限制,提示用户将超限文件纳入 Git LFS 管理。
- 支持单仓库或多仓库清理 LFS 缓存,快速解决磁盘空间不足问题。
- 支持使用 UGit 本地 LFS Cache 加速服务,体验极致的下载速度。
这或许是一个对你有用的开源项目,mall项目是一套基于 SpringBoot3 + JDK 17 + Vue 实现的电商系统(Github标星60K),采用Docker容器化部署,后端支持多模块和微服务架构。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!
- Boot项目:https://github.com/macrozheng/mall
- Cloud项目:https://github.com/macrozheng/mall-swarm
- 视频教程:https://www.macrozheng.com/video/
项目演示:
快速提交
原生 Git 提交流程,如果远程有新的提交,Git 会强制要求先更新再提交,在一个大型项目中,提交流程会因为远程频繁变更而不停中断,影响工作效率。
UGit 的快速提交,可以实现只要用户提交的文件其他人没修改,可以在不更新情况下直接完成提交,不会因远程频繁变更而中断提交流程,让大型团队协作更加流畅。
工蜂锁
- 工蜂锁是针对游戏项目中存在大量二进制文件协作场景而设计的锁方案,解决了 Git LFS Lock 的稳定性和性能问题。
- 支持对文件、目录进行加解锁。同时也可以支持全分支锁,即加锁一个对象时,同时锁定所有分支上的该对象。
- 支持项目设置强制加锁工作流,要求用户必须先加锁才能提交。
- 也可以配置路径的锁白名单,限定配置的目录只允许特定用户可以加解锁。
支持检出子目录
对于大型仓库,克隆完整仓库下来可能需要很长时间,有些时候,我们只需要下载一个或若干子目录即可进行工作,此时可以使用 UGit 克隆时,只勾选工作需要用到的目录进行克隆,这样可以快速完成,不用等待。
基础能力
- 极简操作,类似于 SVN 或 P4 的集中式版本控制工具体验,可一键提交或更新
- OAuth,支持工蜂、Github、Coding.net 平台的 OAuth 认证
- 集成工蜂合并请求,便捷的在客户端中进行 MR 评审或操作
- 集成工蜂 Issue 管理,邮件式的产品体验,可便捷、快速的查看、修改或评论 Issue
- Gitflow,可视化的交互集成业界经典的 Gitflow 工作流实践
- 分支管理,可以查看分支生命周期、批量管理,比如可以快速批量清理无用分支
- SSH 访问工蜂,支持零配置使用 SSH 访问工蜂
特色能力
- 加速服务,支持 Git LFS 缓存加速、UE4 DDC、Unity Cache
- 支持客户端钩子(python/shell/batch),可使用钩子脚本定制团队工作流,如提交规范检查
- 定时任务,包括定时锁分支、定时更新(下载 LFS 数据/pull/pull -f 三种策略)
- 仓库同步服务,支持 Git/SVN/P4 任意两种仓库之间互相按 Commit 维度进行单向或双向同步,也可进行仓库迁移
- 多仓库管理,Git Submodule 的替代方案,通过可视化操作,旨在解决大型项目多仓库依赖管理问题,支持批量克隆,一键更新、拉分支、切分支等等
- 仓库分组管理,可以对仓库进行分组管理,并且分组信息会展示在仓库标签上
- 变更集分组,可对工作区变更进行分组管理,按分组进行提交
- 集成 CodeAction,不用克隆仓库就可以进行代码审查
- 支持 Excel Diff&Merge,支持单元格内容、公式,暂不支持表格样式
- 版本标记,支持在 UGit 仓库历史中标记版本为好的、坏的、标星等操作,方便版本回溯或版本信息共享;
UGit 的这些功能使其成为一个强大的工具,特别是对于那些处理大量数据和需要高效协作的团队,欢迎下载使用。
参考资料
- https://ugit.qq.com/zh/index.html
- https://docs.qq.com/doc/DTEpoYWVwV1dhV0Rz
Github上标星11K
的微服务实战项目mall-swarm,全套 视频教程(2024最新版) 来了!全套教程约26小时,共59期
,如果你想学习目前最新的微服务技术栈
,同时提高自己微服务项目的开发能力
的话,不妨了解下,下面是项目的整体架构图,感兴趣的小伙伴可以点击链接 mall-swarm视频教程 加入学习。
整套 视频教程 的内容还是非常完善的,涵盖Spring Cloud核心组件、微服务项目实战、Kubernetes容器化部署等内容,你也可以点击链接 mall-swarm视频教程 了解更多内容。
推荐阅读