灵感来源于 这篇文章

1.标准化 commit message

规范且有意义的提交记录,有助于追踪代码修改和查看历史记录

现在支持以下九种类型(参考 Angular 规范的 commit message)

  • feat: 新功能(feature)
  • fix: 修补bug
  • docs: 文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor: 重构(即不是新增功能,也不是修改bug的代码变动)
  • test: 增加测试
  • chore: 构建过程或辅助工具的变动
  • perf: 性能优化(performance)
  • tmp: 临时提交(可用于非 master 分支)

2.使用效果

使用效果

3.安装

shell 切换成 zsh,使用 oh-my-zsh 更佳

方法一

把 git_std_commit.sh 文件内容拷贝到 ~/.zshrc

方法二

下载 git_std_commit.sh 到某个路径 (dir),

~/.zshrc 末尾添加 source dir/git_std_commit.sh

工具生效都需要执行 source ~/.zshrc

4.使用方法

在终端输入 gcmm 后,使用 Tab 键选择 commit 类型,然后输入提交信息

1
gcmm-xxx msg1 msg2 ...

当 msg 参数多于一个时,信息会按照列表提交,如 xxx 1.msg1; 2.msg2.

除了 gcmm-tmp,其他命令必须包含提交信息

5.其他

使用 shell 函数是最简单的实现方法

因为 zsh 就可以使用 Tab 进行选择了

更好的实现应该使用 zsh 提供的命令提示模块