章節 7 暫存及送交
Git 設計的哲學; 分離出 暫存(Staging Area)追蹤的這個步驟,基於下面這個原則:除非您需要將檔案納入版本控制,否則您不需要和版本控制打交道。 您可以一直在工作目錄做編輯,直到您想對程式碼作版本的保存為止,git 確切的記錄您每一次的變更,透過 git add 可以分次將檔案做有意義的記錄控管在上傳。
說明:
在 Git 裡須先認識三種不同的狀態空間 1. Working Directory 工作目錄 2. Staging Area 暫存區(草稿) 3. Repository 檔案倉庫:所有版本到這裡表示是一個發佈的版本 ** 必須要注意的是Git是分散式的版本控制所以在Repository按需求又分成 Local(自己的電腦)、Remote(遠端的伺服器) ** Staging Area的存在是為了避免雜亂的更新檔案庫,因此您可以分次 add 同一個功能的檔案到 Staging 再 commit 到檔案庫 ** 例如 : 只 add 登入頁面, 會員列表功能 最後 commit -m 'Membership Function' 在 log 備註這次更新了會員功能。 任何你在該目錄建立的檔案都在 Working Directory 裡,使用 git add 等指令先把檔案加入 Staging Area 再把 Staging Area 裡的檔案 commit 到 Repository,這三個階段是一開始要先理解的。
舉個例子,假如您編輯了三個檔案(a.rb
,b.rb
,和 c.rb
)。現在您想送交您變更的內容, 但您想將 a.rb
和 b.rb
的變更一起送交,而 c.rb
的異動和前兩個檔案的變更並沒有邏輯上的關係, 因此需要分開送交。
您可以跟著下列指令操作:
git add a.rb git add b.rb git commit -m "Changes for a and b"
git add c.rb git commit -m "Unrelated change to c"
將暫存(追蹤)和送交分離您就可以更精準的控制每一次地送交。