1、Git的基本操作流程
- 初始化一個本地版本庫,每個版本庫僅需要執行一次。
- 將中央版本庫內容克隆到本地版本庫,每個客戶機僅需要執行一次。
- 新增指定檔案到版本控制管理(這一步只是新增到Git暫存區)。
- 將新增、修改等操作,提交到本地版本庫(將暫存區的內容提交到本地版本庫)。
如果遠端倉庫的內容被別人修改了,需要先同步遠端的內容,直接git pull
就可以更新本地的檔案,然後再提交。再這過程中可能需要解決衝突。
在修改完成後,如果發現錯誤,可以撤回提交併再次修改並提交。 - 將本地版本庫中的修改內容“推送”到中央版本庫,客戶機需要在一階段性工作完成之後,或在某些時間點(下班,週五),將修改過的內容備份到中央版本庫,方便他人更新到最新的程式碼。
- 將中央版本庫中的變化內容“拉取”本地版本庫,客戶機需要不定時的更新才可以獲取最新的內容。
提示:實際工作中的很多功能和操作都在第3、4步中。
如下圖:
說明:
上面內容涉及到Git中的幾個區域:
workspace
:工作區。staging area
:暫存區/快取區。local repository
:版本庫或本地倉庫。remote repository
:遠端倉庫。
2、工作區、暫存區、版本庫的區別
我們先來理解下Git 工作區、暫存區和版本庫概念,這對以後我們學習Git命令會有非常大的幫助。
(1)工作區
就是你在電腦裡能看到的目錄。
一般我們執行git init
命令,就能把一個目錄初始化成Git本地版本庫。
而這個目錄就是該Git本地版本庫的工作區。
如下圖:git-demo1
目錄就是一個本地倉庫。
具體結構如下圖:
(2)版本庫
版本庫:工作區(專案根目錄)有一個隱藏目錄.git
,這個目錄就是版本庫,而該目錄不算工作區。
具體結構如下圖:
(3)暫存區
暫存區:
- 暫存區從字面上去理解就是用來暫時儲存檔案的地方,實際上它的作用和它的名字是一致的,暫存區可以起到過渡的作用,當我們寫程式碼修改了一些檔案的時候,可以把修改的程式碼提交到暫存區儲存,然後接著寫程式碼,接著再提交到暫存區儲存,寫完某些程式碼覺得沒什麼可以修改的時候,可以將暫存區裡面的檔案一次性提交到版本庫。
- 暫存區英文叫
stage
,或index
。 - 暫存區是包含在版本庫中的,一般存放在
.git
目錄下的index檔案
(.git/index
)中,所以我們把暫存區有時也叫作索引(index
)。
暫存區位置如下圖:
具體結構如下圖:
說明:
版本庫又存在兩個很重要的區域:暫存區與分支區。
分支區:該區域中可以包含很多分支,而每個分支都可以記錄當前工作區中檔案狀態的快照。
如下圖:
即:分支區就相當於本地版本庫。
(4)通過新增檔案理解三個區的關係
1)工作區新加檔案 index.html
。
2)將index.html提交到暫存區。
3)將暫存區內的內容提交到版本庫。
4)將本地版本推送到Github上。
(5)說明
我們只要知道Git的整體操作流程即可,腦子中有一個巨集觀的概括就可以。關於每一步是如何操作的,和具體使用的命令,我們以後會一步一步的進行詳解。