前面我們在介紹Git的時候講了很多次版本庫,工作區(qū)這類的名詞,那個時候只是為了讓大家理解,很多概念都沒有講清楚,甚至都混用。現(xiàn)在我們來認真的梳理一下這幾個概念,對后面的學習很重要。
工作區(qū)
工作區(qū)就是你存放一切文件的那個目錄。比如前面我們新建了一個目錄,叫test,然后進入test,在test目錄下使用git init命令把test變成了一個Git可以管理的目錄。我們甚至還知道Git幫我們自動生成了一個隱藏目錄叫.git。此時,這個test目錄就是工作區(qū)。
很簡單吧!來張圖吧。

工作區(qū)
那什么又是版本庫呢?
版本庫
我們剛才說了,工作區(qū)中各有一個隱藏目錄叫.git。
沒錯,.git就是版本庫。你commit提交的就是這個地方。
那什么又是暫存區(qū)呢?
暫存區(qū)
雖然.git目錄是隱藏的,但你仍然可以打開。
打開.git,進去以后你會發(fā)現(xiàn)里面有很多目錄和文件。類似于這樣:

.git
其中有一個名叫index的文件。
沒錯,你又猜對了!這個index文件就是暫存區(qū)(stage)。
事實上,暫存區(qū)是版本庫里的一個臨時存儲的地方,經(jīng)由暫存區(qū),再提交到版本庫。
你可能要問了:我已經(jīng)知道這些了,然后呢?
事情是這樣的:
- 首先,你在工作區(qū)創(chuàng)建了一個文件或者修改了一個文件
- 然后你有輸入了git add,此時文件實際上是被添加到了暫存區(qū)(stage),也就是那個index文件
- 接著,你又輸入git commit,這才算是正式提交。Git默認給我們創(chuàng)建了一個master分支(以后會詳說)和一個指向master分支的HEAD指針(就是上面的HEAD文件)。
我們畫一個圖來幫助理解:

提交流程
明白了嗎?
如果喜歡的話,可以關(guān)注我的微博http://weibo.com/qiaoer2017