Golang Go语言中分享两个git commit小工具--commitizen和validate-commit-msg

Golang Go语言中分享两个git commit小工具–commitizen和validate-commit-msg

起因是不想装 nodejs 一堆包,也不喜欢 js。

https://github.com/lintingzhen/commitizen-go

https://github.com/lintingzhen/validate-commit-msg

求试用,求喷。


更多关于Golang Go语言中分享两个git commit小工具--commitizen和validate-commit-msg的实战教程也可以访问 https://www.itying.com/category-94-b0.html

8 回复

更多关于Golang Go语言中分享两个git commit小工具--commitizen和validate-commit-msg的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


跟我当初的想法一样,只不过我当时跑偏了不少;先说一下已知问题:

目前较成熟的 golang 终端 prompt 库对中文都有问题,survey 也是,在输入中文后删除、移动光标会有问题;其他的库可能更严重;而且目前这话总库在光标移动上都不友好,比如 ctrl + a/e 快速移动

我当时脑子一热自己造了一个 promptx 库,基本上解决了这些问题,但是比如更多的列表模式,搜索等都没做;所以最近我尝试去修复 survey 这个问题( https://github.com/AlecAivazis/survey/pull/180),但是目前 PR 没回复了

握手。

我注意到光标问题,曾经考虑过用 readline,不过用 c 比 go 麻烦不少,就作罢了;我还没注意到中文问题,survey 中的 select 的 option 设计不好,作者开了个新分支也不怎么更新。

我也喜欢用 go 写命令行工具:github.com/zeromake/docker-debug
不考虑搞个 brew 包吗?

谢谢建议,我研究一下。

follow 你了

244 天,终于搞了一个 brew 包。

在Go语言项目中,高效地管理版本控制和提交信息对于团队协作和代码质量至关重要。以下是两个非常实用的Git commit小工具——commitizen和validate-commit-msg,它们能够显著提升你的commit流程和代码库的可维护性。

  1. Commitizen: Commitizen(cz)是一个用于创建符合特定格式的提交信息的命令行工具。它提供了一个交互式界面,引导开发者填写必要的提交信息字段,如type(类型,如feat、fix等)、scope(范围)、subject(主题)等。这不仅确保了提交信息的规范性和一致性,还便于后续使用工具(如Semantic Release)自动化版本发布。在Go项目中,通过集成cz-cli和相应的适配器,可以轻松实现标准化提交。

  2. Validate-commit-msg: validate-commit-msg是一个用于验证Git提交信息是否符合特定模式的钩子脚本。你可以根据自己的项目需求定义提交信息的格式要求,并在每次提交时自动检查。如果提交信息不符合预定义的模式,commit将被阻止,从而避免不规范的提交信息进入代码库。这对于维护清晰、可追踪的提交历史非常有帮助。

结合使用commitizen和validate-commit-msg,可以极大地提升Go语言项目的版本控制效率和代码质量。Commitizen简化了创建符合规范的提交信息的过程,而validate-commit-msg则确保了所有提交都符合项目的格式要求。这两个工具共同作用下,使得团队协作更加顺畅,代码库更加易于管理和维护。

回到顶部