1个稳定版本
4.0.1 | 2024年7月23日 |
---|
#235 in 开发工具
498次每月下载
125KB
1K SLoC
团队
一个用于管理Rust团队的程序。
- 其目的是
- 提交信息
- 生成变更日志
- 创建并完成特性
- 管理分支
- 管理标签
- 显示标签
- 查看Git日志
- 添加并发送修改
- 使用stash创建分支
- 查看最新提交的分支
- 删除cargo依赖项
- 为提交信息使用
hunspell
词典 - 本地安装cargo项目
- 不需要提交钩子
- 运行测试
- 运行clippy检查器
- 自动运行
cargo fmt
以格式化代码源
需要
hunspell
命令可用和安装en_US
词典。
安装依赖
Fedora
sudo dnf install hunspell hunspell-en_US rustup git
Debian
sudo apt install hunspell hunspell-en_US rustup git python-pip
Silverblue
rpm-ostree install hunspell hunspell-en_US rustup git python-pip
ArchLinux
sudo pacman -S hunspell hunspell-en_US rustup git python-pip
Cargo初始化
rustup default stable
Git fame
pip install git-fame
提交者安装
cargo install cargo-watch zuu teams
提交信息格式
<type>(<scope>): <short summary>
[Description with more details]
[Why changes details]
[Footer]
提交类型
分类 | 提交类型 | 助记符 | 描述 | 示例 |
---|---|---|---|---|
核心变更 | 星号 | 添加或改进了闪亮技术 | 新功能或增强 | 星号(认证):实现两个-因子认证 |
彗星 | 代码或模块错误终止 | 错误修复或错误解决 | 彗星(用户界面):修复移动设备上的响应式布局问题 |
|
星云 | 实现新的高效、易于理解逻辑 | 代码重构 | 星云(后端):重构用户管理模块以提高可维护性 |
|
脉冲星 | 强大的升级,响应更敏捷 | 性能提升 | 脉冲星(数据库):优化查询以更快的响应时间 |
|
夸瑟 | 快速调整以实现更高的准确性和可读性 | 文档或清晰度改进 | 夸瑟(API):使用新端点参数更新文档 |
|
维护与基础设施 | 小行星带 | 调整、清理、删除、重新排序项,减少臃肿 | 代码清理和维护 | 小行星带:删除未使用的内容CSS并优化图像 |
太阳耀斑 | 积极、严格确保我们的逻辑免受回归、故障和延迟的影响 | 添加或更新测试(单元、集成、端到端)。 | 太阳耀斑(支付):添加单元测试以支付处理模块 |
|
矮行星 | 细节需要关注,进一步精炼,细致方面巧妙提升 | 小但至关重要的更新或修复。 | 矮行星:更新项目依赖到最新版本 |
|
Terraform | 技术工程资源快速自动化,可靠管理的基石 | 基础设施变更 | Terraform(AWS):提供新EC2实例以预发布环境 |
|
项目事件 | 黑洞 | 消耗大量旧版方面,重负消减,全面淘汰 | 移除大量代码或功能 | 黑洞:移除已弃用的用户配置文件模块 |
虫洞 | 编织或重新连接模块,附加到相关元素 | 合并分支或连接代码部分 | 虫洞:合并功能/新-仪表板到develop分支 |
|
大爆炸 | 初生伟大,全新增长的开端 | 项目的初始提交或主要功能的初始提交 | 大爆炸:初始项目设置和脚手架 |
|
启动 | 提升应用,新代码投入生产 | 部署到生产或发布版本 | 启动(v1.2):发布具有用户配置文件定制的版本 |
|
沟通与协作 | 光速 | 闪电般的速度增强 | 显著的性能提升 | 光速(前端):实现懒加载以图片 |
任务控制中心 | 管理变更、问题、范围、团队合作和按时发布 | 项目管理变更 | 任务控制中心:更新项目路线图并分配任务以 Q3 |
|
太空行走 | 超越极限的快速工作,确保所有系统额外安全 | 紧急的热修复或关键生产更新。 | 太空行走(安全):修补认证模块中的关键漏洞在认证模块 |
|
登月 | 一夜之间的重大飞跃,新的大门和令人难以置信的成就 | 完成主要里程碑或目标 | 登月:成功向选定用户发布beta版本 |
|
首次接触 | 建立初步连接,开拓新领域 | 建立初步连接或集成 | 首次接触(API):与新支付提供商集成的 API |
|
星际通信 | 清晰、明确地通知、分享、教导、教育和学习 | 改进文档或沟通 | 星际通信:用故障排除指南更新wiki以常见错误 |
|
天体事件 | 日食 | 太阳逃脱,遗留代码潜伏 | 暂时屏蔽功能。 | 日食(功能):暂时禁用新的入职流程以测试 |
超新星 | 突然的令人难以置信的性能革命,新版本到来 | 重大、变革性的改变或改进。 | 超新星(架构):迁移到微服务架构 |
|
流星雨 | 许多编辑,整体效果微小,彻底改革常规 | 一系列的小改动或修复。次要 | 月食 | |
宇宙黎明 | 创造原创、简单、最小初始草案 | 功能的初始实现。 | 宇宙黎明(搜索):基本搜索功能的初始实现 |
|
太阳风暴 | 突然发生快速变化,修改 | 快速、影响重大的变化。 | 太阳风暴(重构):彻底改革数据处理管道以改进性能 |
|
月球过境 | 小更新,现在需要测试调整 | 小、暂时的变化。 | 月球过境(配置):暂时调整日志级别以调试 |
|
近日点 | 完美的结局,精炼,改进,高效率,低障碍,接近目标 | 重大的里程碑或功能完成。 | 近日点:成功完成用户验收测试以新仪表板 |
|
远日点 | 远离完美,高努力,长期检修,全面检修,障碍 | 重构,依赖更新或架构变更。 | 远日点:升级到React18并重构组件 |
|
天体 | 白矮星 | 撰写、改进,为所有人提供详细的文档 | 改进代码注释或文档 | 白矮星(API):添加详细文档以新的端点 |
红巨星 | 重构、增强、成长、增加、添加新事物 | 扩展功能或功能 | 红巨星(支付):添加支持以Apple Pay和Google Pay |
|
中子星 | 新高效工具、微调、稳健优化、敏捷解决方案 | 优化代码以提升性能 | 中子星(搜索):优化搜索算法以更快的结果 |
|
双星 | 引入新修订内容,产生集成结果 | 合并功能或组件 | 双星:合并用户认证和授权模块 |
|
褐矮星 | 发展不足,需要工作,未来持续开发 | 具有潜力的未开发功能 | 褐矮星(社交):初始原型以社交分享功能 |
|
夸克星 | 可疑、不稳定、预期结果、风险、大胆实验 | 实验性或推测性变更 | 夸克星(AI):尝试集成GPT-3 以内容生成 |
|
流浪行星 | 重构或生成操作,独特路径,领先一步 | 与主代码库无关的独立变更 | 流浪行星:创建独立脚本以数据迁移 |
|
恒星孵化场 | 开始增强,铺设层次,启动新需求 | 创建新组件 | 恒星孵化场(用户界面):添加新组件库以设计系统 |
|
行星状星云 | 修剪、离开、放弃、怀旧时代、彻底移除 | 移除或弃用组件 | 行星状星云:移除遗留的图像轮播组件 |
|
球状星团 | 汇集、链接、操作、带来统一、大量调整、所有相关 | 相关更改的集合 | 球状星团(重构):重构多个API端点以一致性 |
|
虚空 | 消失、被消除、无关、已删除 | 移除模块、组件或功能 | 虚空:移除未使用的用户设置模块 |
|
天文概念 | 重力 | 故障排除,调整版本,集成,解决问题 | 解决合并冲突或依赖 | 重力:解决合并冲突在功能/新-导航分支 |
暗物质 | 调试和解决神秘属性,解决棘手问题 | 修复未知或神秘错误 | 暗物质:修复用户登录时的间歇性崩溃 |
|
时间膨胀 | 时间膨胀,改进利用敏捷性,节省时间 | 改进代码性能或减少执行时间。 | 时间膨胀(后端):优化图像处理算法以更快响应 |
|
时空 | 安排、计划、调整日历事件、协调时间 | 日期、时间或调度变更 | 时空(API):修复时区处理以事件时间戳 |
|
引力透镜 | 重力改变光线路径 | 改变数据或信息流 | 引力透镜(数据):重构数据管道以提高吞吐量 |
|
宇宙弦 | 连接我们的部分,合并在一起,互联新群体 | 连接代码部分 | 宇宙弦(API):将用户服务与身份验证中间件连接 |
|
量子涨落 | 快速不可预测的调整,注意到微小的意外修改 | 小的随机变化 | 量子涨落:修复错别字在错误消息 |
|
霍金辐射 | 迅速而乐意地消除冗余,清除老路,整理,消除噪音 | 移除技术债务 | 霍金辐射:删除未使用的内容CSS类和重构样式 |
|
量子纠缠 | 量子效应从未纠缠,更高的效率,相关调整 | 在代码部分之间建立紧密关系 | 量子纠缠(API):紧密耦合用户资料和订单历史端点 |
|
引力红移 | 重力降低效率,速度降低,发生偏移 | 减慢或降低代码性能 | 引力红移(用户界面):禁用不必要的动画以低-终端设备 |
|
太空探索 | 太空探测器 | 勘察、规划、分析、检查每个角落 | 测试新功能或技术 | 太空探测器(AI):实验ChatGPT集成以客户支持 |
空间站 | 设置区域,在轨道测试,优化新功能 | 创建或改进环境 | 空间站(DevOps):使用Docker设置新的开发环境 |
|
火箭发射 | 发布我们的代码,积极投入生产 | 部署到生产环境 | 火箭发射(v1.5):部署带有增强安全功能的新版本到生产环境 |
|
太空行走 | 快速修补和监视工作,确保系统更加安全 | 紧急生产热补丁 | 太空行走(数据库):修复导致停机的关键数据库连接问题 |
|
太空电梯 | 简化访问,提供易于垂直登船,提升入口 | 使代码库更易于访问 | 太空电梯(API):添加新的公共API端点以第三方集成-第三方集成 |
使用Cosmic类型进行提交消息管理
它们是什么?
- 提交消息管理:编写清晰、一致且信息丰富的提交消息,以提高项目协作和理解。
- Cosmic提交类型:一种特定的提交消息约定,使用来自天文学和太空探索的术语和概念来分类更改。这使得消息更具吸引力且更容易理解。
为什么使用提交消息管理?
-
增强协作:清晰的提交消息有助于团队成员理解每个更改的上下文和目的。
-
改进历史跟踪:良好的提交日志结构使得跟踪开发过程、查找特定更改和生成有意义的变更日志更加容易。
-
简化审查:简洁且描述性的消息简化了代码审查,并有助于更快地识别潜在问题。
-
1. 团队采用
- 讨论和同意:与您的团队讨论使用宇宙提交类型。解释其好处,分享本指南,并收集反馈。
- 定制:共同决定您想要使用的特定提交类型。您可以从这里提供的综合列表开始,并根据您项目的具体需求和偏好进行定制。
- 文档:创建一个清晰简洁的参考文档,概述选定的提交类型、其含义和示例。使该文档对所有团队成员易于访问。
2. 实施
- 手动方法:您可以通过简单地遵守在提交消息中使用的
<type>(<): <简短摘要>
格式来手动开始使用宇宙提交类型。 - Git提交模板:创建一个Git提交模板文件(例如,
.gitmessage
),在编辑器中自动填充提交消息格式。这可以帮助保持一致性,并提醒贡献者可用的提交类型。 - Git钩子:利用Git钩子,如
prepare-commit-msg
钩子,验证您的提交消息并确保它们符合所选格式。 - 自动化工具:考虑利用像
commitizen
或cz-cli
这样的工具,这些工具提供了根据您选择的约定创建提交消息的交互式提示。这些工具可以简化流程并在团队中强制执行一致性。
3. 持续改进
- 定期审查:定期审查团队的提交历史,以确保宇宙提交类型的持续使用,并确定任何需要改进或优化的格式。
- 反馈循环: 鼓励团队成员就所选提交类型的有效性以及改进建议进行开放沟通和反馈。
- 迭代优化: 不要害怕实验和调整提交类型以更好地满足不断变化的项目需求。关键在于找到一个适合您团队的系统,并增强您的Git工作流程。
4. 持续改进
- 鼓励创新: 在保持一致性的同时,允许团队成员在既定框架内为提交信息增添个人风格和个性。
- 庆祝里程碑: 使用如“登月”等特殊事件提交类型来庆祝重大成就,并保持团队的积极性。
- 与其他工具集成: 探索与您的缺陷跟踪系统、CI/CD管道或文档工具的集成选项,以自动化流程并最大化使用宇宙提交类型的益处。
通过接受这份全面的指南并将宇宙提交类型融入您的Git工作流程,您可以将提交历史转变为充满活力、信息丰富且愉快的项目历程反映。
宇宙提交的整体目标是使Git提交信息对开发者来说更加信息丰富、引人入胜和愉悦,从而最终促进更好的协作、可维护性和对项目历史的理解。
为什么自动化提交信息?
虽然Angular提交信息约定提供了一个清晰的结构化格式,但手动执行可能很繁琐且容易出错。自动提交信息生成工具可以帮助您
- 确保一致性: 所有提交信息都遵守约定,使Git历史更加有序且易于分析。
- 节省时间: 贡献者无需手动格式化信息,从而提高工作效率。
- 减少错误: 工具引导贡献者创建有效的信息,防止拼写错误或不一致。
为什么特别使用宇宙提交类型?
- 描述性: 如“星”(新功能)或“彗星”(错误修复)等术语可以立即识别,并一眼看出更改的性质。
- 引人入胜: 宇宙主题为提交信息增添了有趣和难忘的元素。
- 标准化: 提供了提交信息的共享词汇和结构化格式,提高了团队的一致性。
为什么使用宇宙提交类型?
宇宙提交类型提供了一种独特且引人入胜的方式来分类和描述Git提交历史中的更改。以下是它们有益的原因
增强清晰度和沟通
- 描述性标签: 使用如“星”(新功能)、“彗星”(错误修复)或“星云”(重构)等术语,可以立即将更改的性质传达给阅读提交日志的任何人。这提高了团队内的沟通和理解。
- 视觉扫描: 使用与天体和事件相关的生动图像,使得快速浏览提交历史并识别特定类型的更改变得更容易。
- 上下文信息: 在提交信息中可选添加作用域,提供了关于受影响的代码库部分的进一步上下文(例如,“星(UI)”表示新的UI功能)。
改进组织和可维护性
- 结构化格式: 宇宙提交信息的统一格式(例如,“类型(作用域):简短摘要”)使提交历史更加有序且易于解析。这有助于像生成更改日志或基于特定标准筛选提交等任务。
- 简化历史: 有序的提交历史使得跟踪项目的发展、识别模式和快速确定特定更改的引入变得更容易。
增加参与感和乐趣
- 创意表达: 宇宙主题为编写提交信息这样单调乏味的任务增添了个性和乐趣。它可以使开发过程对团队来说更加愉快和引人入胜。
- 共享词汇表: 使用一组通用的提交类型可以在团队中培养共同理解和友谊。它也可以作为有趣的对话开始或破冰。
自动化和工具
- 变更日志生成: 许多工具可以通过解析提交消息自动生成变更日志或发布说明。宇宙提交类型通过提供清晰的结构和一致的语言,使这个过程变得更加简单,工具可以轻松理解。
- 问题跟踪集成: 如果你在提交消息中引用问题编号,一些工具可以自动将提交链接到对应的问题,简化你的工作流程,并保持你的项目管理工具更新。
依赖项
~5–17MB
~153K SLoC