#commit-message #git-commit #commit #git #git-hook #quality #cargo

app commiter

一个确保提交质量的 Rust 程序

13 个稳定版本 (4 个主要版本)

4.1.0 2024年7月24日
4.0.0 2024年7月22日
3.0.0 2024年7月19日
2.2.2 2024年7月19日
0.0.1 2024年6月2日

77开发工具

Download history 129/week @ 2024-05-31 17/week @ 2024-06-07 2/week @ 2024-06-14 578/week @ 2024-06-21 54/week @ 2024-06-28 1/week @ 2024-07-05 136/week @ 2024-07-12 500/week @ 2024-07-19 90/week @ 2024-07-26 8/week @ 2024-08-02

每月下载量 734

自定义许可证

65KB
1K SLoC

Commiter

一个用于管理 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 命令

pip install git-fame

Commiter 安装

cargo install cargo-watch zuu teams

提交信息格式

<type>(<scope>): <short summary>

[Description with more details]

[Why changes details]

[Footer]

提交类型

分类 提交类型 助记符 描述 示例
核心更改 Star 添加或改进闪亮技术 新功能或增强 Star(认证):实现两个-因素认证
Comet 代码或模块错误终止 错误修复或错误解决 Comet(用户界面):修复移动设备上的响应式布局问题
Nebula 达到新的高效、易于理解的逻辑 代码重构 Nebula(后端):重构用户管理模块提高可维护性
Pulsar 强大升级,响应更快,敏捷反应 性能改进 Pulsar(数据库):优化查询更快响应时间
Quasar 快速调整以提高准确性和可读性 文档或清晰度改进 Quasar(API):更新文档,包含新端点参数
维护和基础设施 Asteroid Belt 调整、清理、删除、重排项、减少冗余 代码清理和维护 Asteroid Belt:删除未使用的内容CSS和优化图像
Solar Flare 积极、严格确保逻辑免受退化、故障和延迟的影响 添加或更新测试(单元、集成、端到端)。 Solar Flare(支付):添加单元测试支付处理模块
矮行星 值得关注的细节,进一步精炼,精心增强细节 细微但重要的更新或修复。 矮行星:将项目依赖更新到最新版本
Terraform 资源自动化,可靠管理的基础 基础设施更改 Terraform(AWS):提供新的EC2实例预发布环境
项目事件 黑洞 消耗重大遗留方面,彻底消除沉重、陈旧的负载 删除大量代码或功能 黑洞:删除过时的用户配置文件模块
虫洞 编织或重新连接模块,挂钩到链接元素 合并分支或连接代码部分 虫洞:合并功能/-仪表板到develop分支
大爆炸 初始伟大的诞生,所有新的增长开始 项目的初始提交或主要功能的提交 大爆炸:初始项目设置和脚手架
启动 提升应用程序,新代码进入生产 部署到生产或发布版本 启动(v1.2):发布带有用户配置文件定制的版本
沟通 & 协作 光速 闪电般的速度增强 显著的性能改进 光速(前端):实现懒加载图像
指挥控制中心 管理变更、问题、范围、团队合作和按时发布 项目管理变更 指挥控制中心:更新项目路线图和分配任务 Q3
太空漫步 超越极限的快速工作,确保所有系统额外安全 紧急热修复或关键生产更新。 太空漫步(安全):修复认证模块中的关键漏洞
登月 一夜之间的重大飞跃,新的大门和令人难以置信的成就 完成主要里程碑或目标 登月:成功向选定用户推出测试版
首次接触 建立初始联系,开辟新领域 建立初始联系或集成 首次接触(API):与新的支付提供商集成 API
星际通信 清晰、明确地告知、分享、教导、教育和学习 改进文档或沟通 星际通信:更新维基百科中的故障排除指南常见错误
天体事件 日食 太阳逃脱,遗留代码潜伏 暂时屏蔽功能。 日食(功能):暂时禁用新的入门流程测试
超新星 突然的、难以置信的性能革命,新版本到来 重大、变革性的变化或改进。 超新星(架构):迁移到微服务架构
流星雨 许多编辑,总体结果微小,彻底改组常规 一系列的小变化或修复。次要 月食
宇宙黎明 创建原创、简单、最小化的初始草案 功能的初始实现。 宇宙黎明(搜索):基本搜索功能的初始实现
太阳风暴 突然发生快速变化,修改 快速、有影响力的变化。 太阳风暴(重构):彻底改造数据处理管道性能改进
月球过境 小更新,现在调整需要测试 小,暂时性的变化。 月球过境(配置):暂时调整日志级别调试
近日点 完美的结局,精炼,改进,高效率,低障碍,接近目标 重大里程碑或功能完成。 近日点:成功完成用户验收测试新仪表板
远日点 远离完美,高努力,长期大修,激烈的大修,障碍 重构,依赖更新或架构变更。 远日点:升级到React18和重构组件
天体物体 白矮星 为所有人编写、改进、详细文档 改进代码注释或文档 白矮星(API):添加详细文档新增端点
红巨人 重构、增强、成长、增加、添加新事物 扩展功能或功能 红巨人(支付):添加支持Apple Pay 和 Google Pay
中子星 新的高效工具、调整、稳健优化、灵活解决方案 优化代码以提升性能 中子星(搜索):优化搜索算法更快的结果
双星 引入新修订内容,产生集成结果 合并功能或组件 双星:合并用户认证和授权模块
棕矮星 尚未开发,需要工作,未来持续开发 具有潜力的未开发功能 棕矮星(社交):初始原型社交分享功能
夸克星 可疑、不稳定、预期结果、风险、激进实验 实验或推测性变更 夸克星(AI):尝试整合GPT-3 内容生成
流浪行星 重构或生成操作,独特路径,领先一步 与主代码库无关的独立变更 流浪行星:创建独立脚本数据迁移
恒星育婴室 开始增强,构建层次,启动新要求 创建新组件 恒星育婴室(用户界面):添加新的组件库设计系统
行星状星云 修剪、留下、放弃、怀旧时代、完全删除 删除或弃用组件 行星状星云:删除遗留的图片轮播组件
球状星团 收集、链接、操作、带来统一、大量调整、全部相关 相关变更集合 球状星团(重构):重构多个API端点一致性
虚空 消失、被消除、不相关、已删除 删除模块、组件或功能 虚空:删除未使用的用户设置模块
天文学概念 重力 解决故障、调整版本、整合、故障排除产生 解决合并冲突或依赖项 重力:解决合并冲突认证模块中的功能/-导航分支
暗物质 调试和解决神秘属性,棘手问题已移除 修复未知或神秘错误 暗物质:修复用户登录时的间歇性崩溃
时间膨胀 时间膨胀,改进利用敏捷性,节省时间 提升代码性能或减少执行时间。 时间膨胀(后端):优化图像处理算法更快响应
时空 调度、规划、调整日历事件、协调时间 日期、时间或调度变更 时空(API):修复时区处理事件时间戳
引力透镜 引力改变光路,改变信息路径 改变数据或信息流 引力透镜(数据):重构数据管道提高吞吐量
宇宙弦 连接我们的部分,合并在一起,互联新群体 连接代码部分 宇宙(API):连接用户服务与认证中间件
量子涨落 快速不可预测的调整,注意到微小的意外修改 小而随机的更改 量子涨落:修复错别字认证模块中的错误消息
霍金辐射 迅速且自愿地消除冗余,清除陈旧死胡同,整理以清除噪音 消除技术债务 霍金辐射:删除未使用的内容CSS类和重构风格
量子纠缠 量子效应永不纠缠,效率更高,相关调整 在代码部分之间建立紧密关系 量子纠缠(API):紧密耦合用户资料和订单历史端点
引力红移 重力降低效率,速度下降,位移发生 减慢或降低代码性能 引力红移(用户界面):禁用不必要的动画-终端设备
太空探索 太空探测器 勘测、规划、分析、检查每个角落 测试新功能或技术 太空探测器(AI):实验ChatGPT集成客户支持
空间站 设置区域,轨道测试,优化新功能 创建或改进环境 空间站(DevOps):使用Docker搭建新的开发环境
火箭发射 发布我们的代码,积极参与生产 部署到生产 火箭发射(v1.5):部署具有增强安全功能的新版本到生产
太空漫步 快速补丁和监控工作,确保系统安全 紧急生产热补丁 太空漫步(数据库):修复导致停机的关键数据库连接问题
太空电梯 简化访问,提供垂直上板,提升入口 使代码库更易于访问 太空电梯(API):添加新的公共API端点第三方集成-第三方集成

使用Cosmic Types进行提交信息管理

它们是什么?

  • 提交信息管理:编写清晰、一致、信息丰富的提交信息,以改善项目协作和理解。
  • Cosmic 提交类型:一种特定的提交信息约定,使用来自天文学和太空探索的术语和概念来分类更改。这使得消息更具吸引力且更容易理解。

为什么使用提交信息管理?

  • 增强协作:清晰的消息有助于团队成员理解每个更改的上下文和目的。

  • 改进历史跟踪:良好的提交日志结构使跟踪开发过程、查找特定更改和生成有意义的变更日志更加容易。

  • 简化审查:简洁且描述性的消息简化了代码审查,并有助于更快地识别潜在问题。

  • 1. 团队采用

    • 讨论并达成一致:与您的团队讨论使用Cosmic提交类型。解释其好处,分享本指南,并收集反馈。
    • 自定义:共同决定要使用的特定提交类型。您可以从这里提供的综合列表开始,并根据项目的具体需求和偏好进行调整。
    • 文档:创建一个明确且简洁的参考文档,概述所选提交类型、其含义和示例。确保该文档对所有团队成员都易于访问。

    2. 实施

    • 手动方法:您可以通过简单地遵循提交信息中的 <type>(<范围>): <简短摘要> 格式来手动使用Cosmic提交类型。
    • Git 提交模板:创建一个Git提交模板文件(例如 .gitmessage),以在您的编辑器中自动填充提交信息格式。这可以帮助强制执行一致性并提醒贡献者可用的提交类型。
    • Git 钩:利用Git钩子,如 prepare-commit-msg 钩子,验证您的提交信息并确保它们符合所选格式。
    • 自动化工具:考虑利用如 commitizencz-cli 等工具,这些工具提供了根据所选约定创建提交信息的交互式提示。这些工具可以简化流程并确保团队内部的一致性。

    3. 持续改进

    • 定期审查:定期审查团队的提交历史,以确保一致地使用Cosmic提交类型,并识别任何可能需要改进格式的领域。
    • 反馈循环:鼓励团队成员就所选提交类型的有效性以及任何改进建议进行开放沟通和反馈。
    • 迭代改进:不要害怕实验和调整提交类型以更好地适应您不断发展的项目需求。关键是找到一个适合您团队且能增强您的Git工作流程的系统。

    4. 持续改进

    • 鼓励创新:在保持一致性的同时,允许团队成员在既定框架内为提交信息增添自己的风格和个性。
    • 庆祝里程碑:使用像“登月”这样的特殊事件提交类型来庆祝重大成就,并保持团队的积极性。
    • 与其他工具集成:探索与您的任务跟踪系统、CI/CD管道或文档工具的集成选项,以自动化流程并最大化使用宇宙提交类型的优势。

    通过接受这份全面的指南并将宇宙提交类型融入您的Git工作流程,您可以将提交历史转换为充满活力、信息丰富、令人愉悦的项目历程的反映。

    宇宙提交的总体目标是使Git提交信息更具信息性、吸引力和乐趣,从而最终促进更好的协作、可维护性和对项目历史的理解。

为什么自动化提交信息?

虽然Angular提交信息约定提供了一个清晰和结构化的格式,但手动执行可能会很繁琐且容易出错。自动生成提交信息工具可以帮助您

  • 确保一致性:所有提交信息都遵循约定,使Git历史更加有序且易于分析。
  • 节省时间:贡献者不必手动格式化消息,从而提高工作效率。
  • 减少错误:该工具指导贡献者创建有效的消息,防止出现错别字或不一致的情况。

为什么特别使用宇宙提交类型?

  • 描述性:像“星”(新功能)或“彗星”(错误修复)这样的术语可以立即识别,并一眼看出更改的性质。
  • 吸引人:宇宙主题为提交信息增添了有趣和难忘的元素。
  • 标准化:为提交信息提供共享的词汇和结构化格式,提高团队之间的连贯性。

为什么是宇宙提交类型?

宇宙提交类型提供了一种独特且吸引人的方式来分类和描述Git提交历史中的更改。以下是它们的好处

增强清晰度和沟通

  • 描述性标签:使用“星”表示新功能、“彗星”表示错误修复或“星云”表示重构等术语,可以立即将更改的性质传达给阅读提交日志的任何人。这改善了团队内的沟通和理解。
  • 视觉扫描:使用与天体和事件相关的生动图像,可以轻松快速地扫描提交历史并识别特定类型的更改。
  • 上下文信息:提交信息中可选的添加作用域提供了有关受影响的代码库部分的进一步上下文(例如,“Star(UI)”表示新的UI功能)。

改进组织和可维护性

  • 结构化格式:宇宙提交信息的统一格式(例如,“类型(作用域):简短摘要”)使提交历史更加有序且易于解析。这有助于生成变更日志或根据特定标准筛选提交等任务。
  • 简化历史:一个组织良好的提交历史使跟踪项目的演变、识别模式以及快速定位特定更改的引入变得更加容易。

增加参与度和乐趣

  • 创意表达:宇宙主题为通常单调乏味的编写提交信息任务增添了个性和乐趣。它可以使开发过程对团队来说更加愉快和吸引人。
  • 共享词汇:使用一组共同的提交类型可以培养团队之间的共同理解和友谊。它也可以作为有趣的话题开始或打破僵局。

自动化和工具

  • 变更日志生成:许多工具可以通过解析提交消息自动生成变更日志或发布说明。宇宙提交类型通过提供清晰的架构和一致的词汇,使这个过程更加简单,工具可以轻松理解。
  • 问题跟踪集成:如果您在提交消息中引用问题编号,一些工具可以自动将提交链接到相应的议题,简化您的流程并使项目管理系统保持最新。

依赖项

~5–16MB
~152K SLoC