Why
- 在接手新項目時候
-
你希望看到git的commit記錄是這樣的?
image.png -
還是這樣的?? WTF!?
image.png
- 聽說魚的記憶只有7秒鐘, 但是我看人的記憶也不怎么樣,反正我能記清楚之前寫的代碼細節(jié),最多只有7天
- 那么問題來了,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