Git版本庫暫存區和工作區

2021-09-22 10:24:27 字數 537 閱讀 8056

學習git的使用之前先了解一下git的三個基本概念

下圖為git的版本庫、暫存區和工作區的關係:

head為乙個指向master的游標。

圖中的 objects 標識的區域為 git 的物件庫,實際位於 ".git/objects" 目錄下,裡面包含了建立的各種物件及內容。

當對工作區修改(或新增)的檔案執行 "git add" 命令時,暫存區的目錄樹被更新,同時工作區修改(或新增)的檔案內容被寫入到物件庫中的乙個新的物件中,而該物件的id被記錄在暫存區的檔案索引中。

當執行提交操作(git commit)時,暫存區的目錄樹寫到版本庫(物件庫)中,master 分支會做相應的更新。即 master 指向的目錄樹就是提交時暫存區的目錄樹。

當執行 "git reset head" 命令時,暫存區的目錄樹會被重寫,被 master 分支指向的目錄樹所替換,但是工作區不受影響。

Git 工作區 暫存區和版本庫

暫存區 stage,index 是 git 最重要的概念之一,理解了這個概念很多 git 命令就不再那麼神秘了。今天在寫這部分的內容,畫了乙個圖,看看有沒有什麼問題。理解 git 暫存區 stage 把上面的 實踐二 從頭至尾走一遍,不知道您的感想如何?在 實踐二 的過程中,我有意無意的透漏了 暫存...

Git 工作區 暫存區和版本庫

暫存區 stage,index 是 git 最重要的概念之一,理解了這個概念很多 git 命令就不再那麼神秘了。今天在寫這部分的內容,畫了乙個圖,看看有沒有什麼問題。理解 git 暫存區 stage 把上面的 實踐二 從頭至尾走一遍,不知道您的感想如何?在 實踐二 的過程中,我有意無意的透漏了 暫存...

Git 工作區 暫存區和版本庫

暫存區 stage,index 是 git 最重要的概念之一,理解了這個概念很多 git 命令就不再那麼神秘了。我認為 git 暫存區 stage,或稱為 index 的設計是 git 最成功的設計之一,也是最難理解的乙個設計。當執行 git status 命令掃瞄工作區改動的時候,先依據 git ...