前幾篇章節經常提到使用 git add
加至暫存區,git commit
提交到儲存庫。這些工作區、暫存區、儲存庫,分別代表什麼意思呢?讓我們一個一個好好認識,也就會對 Git 有更深的認識囉!
Git 中檔案存放區域:
Git 中檔案會有的狀態顯示:
git add
指令後,會從工作目錄中將檔案加至暫存區 ( Staging Area ),這時的狀態變為「等待提交」。git commit
指令後,檔案會從暫存區移動到儲存庫 ( Repository ),此時的狀態為「已提交」。git status 檔案狀態 —>
未追蹤 (Untracked files)
、已更改 (Changes not staged for commit)
💡 工作目錄:關於 Git 相關的操作,都會在這個目錄下完成
假設今天有個要準備開發的專案,我們會建立一個目錄,而在這個目錄下進行動作,例如:新增檔案、刪除檔案、修改檔案、重新命名檔案...等編輯動作,都會是在此工作目錄下完成。
在後續 Git 裡也會介紹到分支( Branch ),此時工作目錄很有可能會在各種不同分支之間切換,執行不同的指令,因此保持工作目錄的乾淨,是版本控管過程中的一個基本原則,有助於往後如果要進行合併時更加簡潔。
git status 檔案狀態 —>
等待提交(Changes to be committed)
、new file 狀態
我們建立新的檔案,或是更改檔案時,都會執行 git add
指令將檔案加至暫存區(Staging Area),那麼暫存區是什麼呢?
💡 暫存區:也常被稱作索引(index),通常放在 Git 的目錄下,儲存關於下次提交的資訊。
目的|
紀錄「有哪些檔案即將要被提交到下一個 commit 版本中」。也就是說,當我們要提交一個版本到儲存庫前,需要先更新索引狀態,有變更才能提交成功。
好處|
擁有暫存區,可以賦予 Git 更多操作上的彈性與靈活性。在 Commit 提交之前我們都可以針對不同狀況去操作不同指令來控制檔案。
例如:
(參考文章)
遇到不同狀況、情境,都有對應的指令,加上參數使用,就可以成功執行我們想要的動作。
git status 檔案狀態 —>
已提交(Committed)
儲存庫是保存檔案或是程式碼的地方,暫存區的資料被提交到儲存庫後,可以永久保存。儲存有關於內容的歷史修改記錄、有關專案的內容。
儲存庫先前的文章有提到分為集中式、分散式,儲存庫再細分可以分成遠端及本地端。
做完提交的動作到 Repository ,整個 Git 的工作流程才算完整。
複習基本 Git 工作流程: