Git工作區和暫存區

admin發表於2018-07-15

使用git init命令可以建立一個版本庫,同時系統自動建立唯一分支master。

程式碼如下:

[Shell] 純文字檢視 複製程式碼
$ git init
Initialized empty Git repository in E:/git-ant/.git/

使用git status命令檢視一下當前狀態:

[Shell] 純文字檢視 複製程式碼
$ git status
On branch master

No commits yet

nothing to commit (create/copy files and use "git add" to track)

可以看到我們當前在master分支。

在前面的章節已經多次提到工作區和暫存區,圖示如下:

aid[1041]

工作區:

工作區就是執行git init命令所在的目錄,我們要修改的檔案就在此目錄,但是並不包括.git目錄

a:3:{s:3:\"pic\";s:43:\"portal/201807/15/092153lrox1mxjsrdc77dq.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

版本庫:

工作區根目錄下有一個預設隱藏的目錄.git,它並不屬於工作區,而是版本庫(Repository)。

版本庫中內容很多,並且都很重要,有兩個是我們實際操作中經常要遇到的,那就是暫存區(也可以稱之為stage或者index)和分支,HEAD是一個指標,指向當前所在的分支(master)。

將檔案最終提交到版本庫基本流程如下:

(1).git add命令將工作區未跟蹤和修改檔案提交到暫存區。

(2).git commit命令將暫存區內容提交到當前版本。暫存區就如同一個臨時性倉庫,可以將來自工作區的新檔案或者修改檔案暫時存放起來,然後統一提交到分支。

暫存區存在的必要性:

有些朋友感覺暫存區多餘,其實並非如此,通過這個過渡性區域可以使提交更加條理,避免無用瑣碎提交。

舉個比較生活化的例子,需要將一車放置雜亂無章的各類貨物有序的放入倉庫,最好的辦法是將貨物先有條理的整理到倉庫門口空地上,這個空地相當於暫存區,然後再將貨物用叉車運到倉庫。還有一個作用就是可以更加方便的對檔案進行版本管理,比如版本的回溯,這個後面會文章會介紹。

關於暫存區的深入介紹參閱Git暫存區深入理解一章節。

相關文章