1、前言
寫好git commit提交有什么好處呢?
查看提交的log也非常的優(yōu)雅,這個就不多提了
方便查找日志記錄,通過簡單的過濾便能定位到具體想要查找的log
方便問題回溯,通過git log就能查找到當時提交的代碼文件,以及修改的代碼
其實如果使用過github的release, 可以直接根據feat和fix來過濾提取日志發(fā)布版本
接下來我就來實踐一下,首先我這里使用的是pnpm安裝依賴的。今天主要是在提交代碼時稍微自動化一點,并且讓提交規(guī)范統(tǒng)一一些。
具體操作的源碼項目github.com/aehyok/taro…[1]
2、commitizen插件
pnpmicommitizen-D
此時我們先git add .,然后就可以使用一下git cz,所以現(xiàn)在可以直接在package.json中添加一個scripts
//&&代表`gitadd.和`gitcz`兩個指令串行執(zhí)行, //先執(zhí)行前一個,執(zhí)行完后再執(zhí)行后一個 "git":"gitadd.&&gitcz"
那么接下來直接執(zhí)行 pnpm git
輸入commit的提交信息,保存,關閉小窗,因為我這里用的是gitExtensions圖形操作程序,隨后git push提交即可,但是這樣其實只是換了一個命令而已,并沒有什么實質性的改變。那接下來就讓它改變一下吧
3、cz-customizable設置提交模板
pnpmicz-customizable-D
安裝完之后在package.json中添加如下節(jié)點
"config":{ "commitizen":{ "path":"node_modules/cz-customizable" } },
同時可以再根目錄創(chuàng)建.cz-config.js,這里有一份官網提供的模板github.com/leoforfree/…[2]
下面這個是我自己修改后的提交模板
module.exports = { // type 類型(定義之后,可通過上下鍵選擇) types: [ { value: 'feat', name: 'feat: 新增功能' }, { value: 'fix', name: 'fix: 修復 bug' }, { value: 'docs', name: 'docs: 文檔變更' }, { value: 'style', name: 'style: 代碼格式(不影響功能,例如空格、分號等格式修正)' }, { value: 'refactor', name: 'refactor: 代碼重構(不包括 bug 修復、功能新增)' }, { value: 'perf', name: 'perf: 性能優(yōu)化' }, { value: 'chore', name: 'chore: 其他修改, 比如構建流程, 依賴管理、版本好修正.' } ], // scope 類型(定義之后,可通過上下鍵選擇) scopes: [ ['components', '組件相關'], ['hooks', 'hook 相關'], ['utils', 'utils 相關'], ['element-ui', '對 element-ui 的調整'], ['styles', '樣式相關'], ['deps', '項目依賴'], ['auth', '對 auth 修改'], ['other', '其他修改'], // 如果選擇 custom,后面會讓你再輸入一個自定義的 scope。也可以不設置此項,把后面的 allowCustomScopes 設置為 true ['custom', '以上都不是?我要自定義'] ].map(([value, description]) => { return { value, name: `${value.padEnd(30)} (${description})` } }), // 是否允許自定義填寫 scope,在 scope 選擇的時候,會有 empty 和 custom 可以選擇。 // allowCustomScopes: true, // allowTicketNumber: false, // isTicketNumberRequired: false, // ticketNumberPrefix: 'TICKET-', // ticketNumberRegExp: '\d{1,5}', // 針對每一個 type 去定義對應的 scopes,例如 fix /* scopeOverrides: { fix: [ { name: 'merge' }, { name: 'style' }, { name: 'e2eTest' }, { name: 'unitTest' } ] }, */ // 交互提示信息 messages: { type: '確保本次提交遵循:前端代碼規(guī)范! 選擇你要提交的類型:', scope: ' 選擇一個 scope(可選):', // 選擇 scope: custom 時會出下面的提示 customScope: '請輸入自定義的 scope:', subject: '填寫簡短精煉的變更描述: ', body: '填寫更加詳細的變更描述(可選)。使用 "|" 換行: ', breaking: '列舉非兼容性重大的變更(可選): ', footer: '列舉出所有變更的 ISSUES CLOSED(可選)。例如: #31, #34: ', confirmCommit: '確認提交?' }, // 設置只有 type 選擇了 feat 或 fix,才詢問 breaking message allowBreakingChanges: ['feat', 'fix'], // 跳過要詢問的步驟 skipQuestions: ['scope', 'body', 'breaking', 'footer'], subjectLimit: 100, // subject 限制長度 breaklineChar: '|' // 換行符,支持 body 和 footer // footerPrefix : 'ISSUES CLOSED:' // askForBreakingChangeFirst : true, }
運行 pnpm git
根據指引提示,然后輸入提交信息,推送到服務器就完成了,查看git log可以發(fā)現(xiàn)
4、總結
其實還可以將腳本修改一下
"git":"gitadd.&&gitcz&&gitpush"
這樣三個指令會串行執(zhí)行,一個接著一個執(zhí)行,如果提交沒什么問題的話,很自然就推送到遠端了。
審核編輯:湯梓紅
-
指令
+關注
關注
1文章
614瀏覽量
36093 -
源碼
+關注
關注
8文章
665瀏覽量
30010 -
代碼
+關注
關注
30文章
4869瀏覽量
69905 -
Git
+關注
關注
0文章
203瀏覽量
15986
原文標題:天天提交代碼,git commit 能規(guī)范一下嗎?
文章出處:【微信號:技術讓夢想更偉大,微信公眾號:技術讓夢想更偉大】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
開發(fā)者必備的8 個 git 小技巧
Git 常用命令大全
git之推送提交
Git工程實踐(一)巧用commit message
如何跟遠程倉庫一起協(xié)作提交代碼

45個日常用git合代碼的經典操作場景
45個Git經典操作場景
git rebase和git merge的區(qū)別

git中如何查看提交歷史

git基本操作命令用法

評論