GIT系列 「02」GIT三大區域

2021-10-04 02:02:47 字數 1547 閱讀 3750

三大區域即即工作區暫存區,和本地倉庫

首先說明下head,head 是當前分支引用的指標,它總是指向該分支上的最後一次提交。 這表示 head 將是下一次提交的父結點。可以將head看作當前分支上的最後一次commit的快照。

工作區(working director):位置上對應專案目錄裡面所有檔案,操作人的工作都在這裡進行,所以叫工作區,也叫工作目錄。我們知道,git每一次commit都生成了乙個tree物件,記錄了整個專案結構,檔案內容的索引等。工作目錄(工作區)即是根據head對應的commit物件所讀取出來的目錄和檔案。然後操作人會在此基礎上對檔案進行增,刪,改。

暫存區(index):位置上對應.git裡面的index檔案。可以通過git ls-files -s檢視,裡面儲存的是下一次commit提交所應該有的樣子,意思就是說在工作區修改後,通過git add為修改後的檔案生成blob物件放入objects資料夾中,並且將暫存區中所反映的專案結構中相應的修改檔案索引替換成新索引。

本地倉庫(repository):位置上即.git資料夾。我們平時也說本地版本庫,裡面包含暫存區,物件(blob物件,commit物件,tree物件),日誌等。其儲存了所有提交版本的專案快照和檔案快照。

我們通過例子對檔案資料流向做乙個梳理,以此來說明下暫存區的作用。

1、 我們在工作區建立乙個info.txt(v1)。

2、git add後,info.txt在objects中生成乙個blob物件,在暫存區進行暫存。暫存區放入修改後的專案快照,用於下一次提交。

3、再次修改工作區的info.txt(v2) (如果沒有再次git add,則提交的還是v1)。

4、git commit,將暫存區對應的專案結構放入本地倉庫,head指向commit。

我們可以對三個區域檔案進行比較

git diff:工作區 vs 暫存區,按照上面的例子會顯示v2修改的內容

git diff head:工作區 vs 版本庫,按照上面的例子會顯示v2修改的內容

git diff --cached:暫存區 vs 版本庫,按照上面的例子會顯示空

Git使用系列02 Git介紹 安裝

堅韌是成功的一大要素,只要在門上敲得夠久 夠大聲,終會把人喚醒的。大家要韌性十足的學習呀!git 是目前世界上最先進的分布式版本控制系統。瀏覽器開啟 根據下面圖示安裝 圖一 圖二 圖三 圖四 圖五 圖六 圖七 圖八 圖九 圖十 圖十一 圖十二 圖十三 圖十四 根據上述步驟安裝完畢之後,可以點選圖十四...

Git 三大區域的操作分析

git 三大區域的操作分析 可以將git簡單的分為三個區域 1 工作區 working directry 2 暫緩區 stage index 3 歷史記錄區 history 如圖 git add files 把當前工作目錄中的檔案放入暫存區域 其實做了兩件事 1 將本地檔案的時間戳 長度,當前文件物...

02 Git命令 倉庫

git initgit add 檔案.字尾 git add 檔案1.字尾 檔案2.字尾 git add 所有檔案 git add a 所有檔案 git add all 所有檔案 提交暫存區檔案到本地庫git commit m 提交說明 檔案.字尾 git commit m 提交說明 提交暫存區所有檔...