淺談Git Commit
淺談Git Commit
1. 建議如何撰寫Git Commit Message
Git Commit message 是說明提交版本項目,讓看的人在看完後能夠對提交項目內容有了解。
在commit 的message中,先寫明此項commit 的目的,接著寫內容,若另有要對應的項目,再加上對應項目的名稱或代碼。
n 寫明目的:讓看的人了解此項commit 的目的是修正bug呢?還是新增新功能。 舉例:
add – 新增項目
update – 更新版本
modify – 修改內容
fix – 修正bug
hotfix – 修正嚴重的bug
disable – 移除功能
remove – 刪除檔案
n 寫明內容:此說明文字不要太長,大約在50字以內。 通常commit不論是程式碼或是文件,都有獨立規範在文件或程式中列示明確的說明。 不同文件的基本說明規範,不在此另述。
n 對應項目的名稱或代碼:例如某一文件是因某日的某主題的email 而做了變更,則記錄email 的日期及主旨。 若是為了某個issue而做了修正,則記錄該issue文件的名稱及issue 代碼。
舉例專案文件中幾個通用規範的使用方式
2. Git 實務上遇到的要避免的狀況:
n 一般在專案中,常看到不寫任何commit message、或是使用簡短的幾個字或是有個人的情緒舒發。 如圖:
這種commit message 都是要避免的。
n Git 原理是版控,原則上在Git 上同一份文件記錄不同的版本。
a. 有時看到有人把Git 當成檔案總管依日期時間放置檔案,不僅沒有使用到Git 的效用,而且還佔很大的空間。
如圖例:
b. 管控版本開repository而不開branch,專案開始時會依不同功能需求或專案階段建立branch,如圖(一),若每位開發者都各自為自己開發的程式單獨開立repository如圖(二) ,而在交付時才簽入專案系統的repository,也喪失了使用Git 的目的。
圖(一):
圖(二):
參考資料:
github.com/oracle-design/guides/wiki/Git-commit-message-的寫法