靈感來源于這篇文章
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 類型,然後輸入送出資訊
gcmm-xxx msg1 msg2 ...
當
msg
參數多于一個時,資訊會按照清單送出,如
xxx 1.msg1; 2.msg2.
除了
gcmm-tmp
,其他指令必須包含送出資訊
5. 其他
使用 shell 函數是最簡單的實作方法
因為 zsh 就可以使用 Tab 進行選擇了
更好的實作應該使用 zsh 提供的指令提示子產品