<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
據說,80%的程式設計師,不會寫commit記錄。這個比例在無規範的小公司,比例會更高一些,可以看到這是一個多麼普遍的問題。
程式設計師應該寫出簡潔明瞭的commit log
,否則對別人和自己來說就是一種困擾。最近程式碼review多了,總有一股想笑的感覺。就像下圖這滿屏的ok,永遠無法從中得知提交人的意圖。
commit log將如何提交?都有哪些約定?其實是有答案的。對於Java程式設計師,尤其幸福。IDEA有一個非常好用的外掛,可以用來輔助你進行程式碼提交,輔助你進行團隊規範建設。接下來,我將帶大家看一看它的使用方法。
在IDEA的Marketplace
中,搜尋Git Commit Template
,就可以安裝這個外掛。外掛很小,很快就能下載下來。
正常從IDEA提交程式碼的時候。我們發現多了一個小按鈕。
點選之後,將彈出一個視窗。讓你去設計提交模板。
這麼多資訊,真的讓人頭暈。怪不得程式設計師們都不喜歡寫提交記錄。
其實,在外掛的安裝介面,就已經說明了這個提交記錄的格式。
<type>(<scope>): <subject> <BLANK LINE> <body> <BLANK LINE> <footer>
從描述中,可以肯容易的看到一個提交記錄中,應該包含哪些東西。其中型別最多的,當然是提交型別。
我們按照外掛顯示的順序來說明一下。
feat
功能feature
的意思,也是最常用的。當你的功能有變更的時候,都可以採用這種型別的type
fix
當然指的是bug修復
docs
更新了檔案,或者更新了註釋
style
程式碼格式調整,比如執行了format、更改了tab顯示等
refactor
重構程式碼。指的是程式碼結構的調整,比如使用了一些設計模式重新組織了程式碼
perf
對專案或者模組進行了效能優化。比如一些jvm的引數改動,把stringbuffer改為stringbuilder等
test
這個簡單,就是增加了單元測試和自動化相關的程式碼
build
影響編譯的一些更改,比如更改了maven外掛、增加了npm的過程等
ci
持續整合方面的更改。現在有些build系統喜歡把ci功能使用yml描述。如有這種更改,建議使用ci
chore
其他改動。比如一些註釋修改或者檔案清理。不影響src和test程式碼檔案的,都可以放在這裡
revert
回滾了一些前面的程式碼
除了這些預設的,團隊還可以按照自己的需求,增加新的type
。比如專門處理線上工單,就可以創造一個叫做ticket
的型別。
scope是範圍的意思,主要指的是程式碼的影響面。scope並沒有要求強制,但團隊可以按照自己的理解進行設計。通常由技術維度和業務維度兩種劃分方式。比如按照技術分為:controller
、dto
、service
、dao
等。但因為一個功能提交,會涉及到多個scope(都不喜歡非常細粒度的提交),所以按照技術維度分的情況比較少。
按照業務模組進行劃分,也是比較不錯的選擇。比如分為user
、order
等劃分,可以很容易看出是影響使用者模組還是order模組。
如果你實在不知道怎麼填,那就留空。
這個體現的是總結概括能力,沒得跑。一句話能夠說明主要的提交是什麼。subject也是眾多git管理工具預設顯示的一行。如果你寫的標準,那麼提交記錄看起來就很漂亮很規整。
主要填寫詳細的改動記錄。我一般習慣列上1234,但如果你的subject寫的非常好,正文可以直接弱化。但如果時間充裕,填寫上重要記錄的前因後果,需求背景,是一個好的習慣。
新增一些額外的hook,比如提交記錄之後,自動關閉jira的工單(JIRA和gitlab等是可以聯動的)。在比如觸發一些檔案編譯或者其他動作。
這部分自定義行也是比較強的。
最後還有一個skip CI選項。一般的ci工具,都可以設定提交程式碼時自動觸發編譯。但你可以告訴它忽略本次提交。這可能是因為你提前預判到了一些構建風險,或者就是不想編譯。
最後,看一個典型的提交記錄,有了工具的支援,我們的瞎扯也看得正經起來。
fix(order): 修復了1分錢買汽車的bug 商務反饋可以1分錢買汽車,目前已經賣出了100w量 Closes #2455 [skip ci]
其實,提交的核心是type
和subject
。一個用來表示它的提交型別,一個用來對提交進行概括性總結,寫好了這兩點,就能輕輕鬆鬆秒殺80%的程式設計師了。
有了這些基礎,從commit log
,自動生成change log
,就變的非常的容易。配合持續整合平臺,自動生成發版的變更記錄,也是可行的,這也是為什麼團隊管理,都在一直強調git的提交規範。因為它確實非常有用。
以上就是怎樣寫commit log記錄及如何提交有哪些約定的詳細內容,更多關於commit log記錄提交約定的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45