iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0

在接下來幾篇的文章中,大概會提到所謂的Git,後來聽許多前輩說,Git是工程師非常加分的條件,雖然自己還沒有到非常熟悉Git,但在最後的10天中,就來帶大家跑一下Git的操作!

據說Git在commit的時候應該要有所謂的正確姿勢:

還記得在Xcode中commit東西的時候,都會有所謂的commit Message:

然後看著所謂的commit message,不禁眼前一黑:蝦餃,這到底應該樣寫些蝦餃?

那我就來示範示範(搓手),據說有個公式是這樣:

<type>(<scope>):<subject>   <-這邊是Header

<blank>                     <-空行

<body>                      <-這邊是Body

<blank>                     <-空行

<footer>                    <-這邊是Footer

type修改類型

所謂的type就是我今天在程式碼中幹了些什麼類的事情,工程師因為工作需要,經常需要把做的事情分門別類,讓大家都知道到底今天合作時的紀錄到底都有些什麼內容。

而type分成幾類:

  1. feat提交新功能
  2. fix 修東西
  3. docs 改文件
  4. style 程式邏輯外的更改
  5. refactor 重構功能
  6. perf 增加程式效能
  7. test 增加、修改測試例子
  8. chore 對構建過程、輔助工具或依賴庫的修改

scope作用域

作用域大概指的大概就是你commit的程式碼後,影響的範圍。
假設以MVC架構來說,就有所謂的Model、ViewController、View這三個不同分門別類的東西,
那麼在scope中就可能可以這樣描述:

feat(View*13-18*):something I did...

subject摘要內容

摘要內容其實就是把事情的重要內容簡單的講出來。不知道大家有沒有寫過論文?論文的摘要就是濃縮研究主體,讓大家一看就知道這篇論文到底在幹嘛。

body詳述內容

就是把所有跟摘要有關的細節講出來。(我好像也不知道要多講什麼。)

footer

footer能使用的機會似乎比較少一些,可能的情況較多是在版本不相容、關閉issue(似乎也有說法是紀錄bug的修復點之類的)

比如說:

  1. 版本不相容
BREAKING CHANGE: somthing change by the differnt version

Before:

    scope{
      myAttr:"Attribute"

    }

After:

    scope:{
      myAtter:"@"

    }


  1. 關閉某個議題
    這個情況比較適用於commit的內容跟某個議題有關,在解決之後,就可以藉由footer來關閉,說明這個議題已經被解決了,或者也可以在這邊註明修復了哪些bug。

Well,這些知道了之後好像就可以commit message了耶!

tags: 鐵人賽

上一篇
#Day20--那些年,我們一起犯的傻
下一篇
# Day22--眼前一黑...啊!原來是終端機!
系列文
Swift30天:從語法到觀念,告訴你在踏入實作前最好弄清楚的那些事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言