在上一節,我們提到暫存區與儲存庫的概念。
事實上,以 git 的角度來看可以分成三個區域:
- 工作目錄:就是我們處理檔案或資料夾的現行目錄,當然是有下過 git init 的才有 git 追蹤
- 暫存區:就是我們下 git add . 會把這些工作目錄的資訊記錄在暫存區
- 儲存庫:就是 git commit -m '訊息' 後把記錄由暫存區存放到永久的儲存庫中
如果覺得兩個步驟太麻煩,可以直接下 git commit -a -m '訊息'
但這個指令對於有新創建的檔案還沒被追蹤的狀況是無效的,因此有新加入的檔案還是先乖乖 git add . 比較保險。
如果只是修改原有的檔案,想偷懶一下就可以合併著用一個指令。
至於何時要下 commit 的時機,以下只是建議:
- 完成一個任務:就算只是改一個參數或新增一行程式碼都算。
- 完成一天的工作:雖然還沒完成任務,但要下班了還是先存到儲存庫比較保險,一方面是備份,另一方面也是讓人家知道你有進度有做事情。
- 其實隨時想 commit 都可以 commit 也沒什麼不行的,頂多就是比較長 commit 紀錄看起來會比較多比較零碎而已。
至於一個任務要怎麼界定也不好說,有時只改了一個數字對系統的影響就很大,
例如把每頁最多筆數由10改成1000筆,對使用者與系統來說就有很大的影響。
而加了好幾十行的註解對使用者來說完全無感,但對於要維護後續程式的人就有很大的幫助。
有時候一個功能的撰寫也沒那麼快,也許要一兩個星期,但我們最好不要完成整個功能才 commit
因為這樣中間想要回到之前的版本或修改就沒辦法了,也失去 git 的意義。
如果我們做一段修改就可以 commit 一下,這樣我們出錯隨時想回到哪個狀態就都很方便。
最重要的是紀錄最好可以寫清楚,但也不要當作寫心得或作文,條列式的記錄一下重點就行,
反正詳細檔案改了什麼地方也可以查得到,接下來我們就要來看紀錄囉。