GIT提交規(guī)范的使用和總結

Why

  1. 在接手新項目時候
  • 你希望看到git的commit記錄是這樣的?


    image.png
  • 還是這樣的?? WTF!?


    image.png
  1. 聽說魚的記憶只有7秒鐘, 但是我看人的記憶也不怎么樣,反正我能記清楚之前寫的代碼細節(jié),最多只有7天
  2. 那么問題來了,git提交記錄如果不能提供有效信息,項目上線一段時間之后出bug需要修復,或者臨時接手其他同事項目時,看到git記錄里只有一堆的Update心情如何?

What

  • git 提交commit部分,規(guī)范模板,提供盡量詳細的信息
  • 用最少得話把事說清楚,格式統(tǒng)一,方便快速閱讀和定位
  • 不用想太多,簡潔操作 , 無需額外增加大量時間
  • 與gitlab數(shù)據(jù)issue關聯(lián),獲取更多信息, 例如當時這個需求細節(jié)是怎么樣的?或者客戶提出了什么樣的奇葩要求,才有這段shi~一樣的代碼?

How

  • 復制模板(之后分享這個文件)到你的home目錄.
  • 執(zhí)行命令: git config --global commit.template ~/.git-commit-template
  • 看一下是否正確配置了: git config commit.template
  • 每次體檢時簡單修改一下即可,一般不會超過1分鐘
  • 舉一些完成的例子:
    1.<修改>: (后臺MGTOMedia/AppBundle/Controller/NewsController.php) <為了保持前后臺新聞排序一致,這里統(tǒng)一修改為按照position desc > issue#17
    2.<bug修復>: (MGTOMedia/CommonBundle/Services/ElasticSearchService.php)<搜索的queryBuilder忘記跟著改過來了,這里統(tǒng)一改一下> issue#18
    3.<測試代碼>: (嘗試composer引入phpoffice)composer 引入phpOffice讀取doc文件遇到一些問題
    4.<文檔改動>: (新增文檔) <ElasticSearch相關>新增Ela搜索News的Mapping文檔和搜索使用的query例子偽代碼
  • 如果你針對自己的模板有什么改進,請記得分享給我一份!
  • 我的文檔范本: (你看,真的很簡單,只有3行)
<新功能|bug修復|文檔改動|格式化|重構|測試代碼>: (影響范圍) <主題> 
# 解釋為什么要做這些改動
issue #?

How good

  • 總結我個人在2018年下半年使用情況來看,這個確實是有必要的.幾乎不花費額外精力和時間,但是之后查找問題效率很高.
  • 可以通過 issue#? 關聯(lián)到gitlab. 這樣如果之前關于每個需求細節(jié)都在issue中討論的話,那么這幾乎就是一套非常完整而且有細節(jié),有代碼的項目文檔了.也不需要額外花費時間來寫文檔. 我知道寫文檔這工作基本沒人愿意做. 等到真的需要的時候,也沒人能記得清楚到底該寫什么了.
  • 寫清關聯(lián)信息,方便事后查找,同事協(xié)作
  • 別給自己挖坑,提高問題解決的效率
  • 合作的時候能快速理解一些設計的原因
  • 出問題的時候可以快速定位到位置,并且理解邏輯快速修正
  • 你不能確保自己能在一個月后,自己還能記住項目的每個細節(jié)

最后,附上思維導圖(2.2MB)

image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。