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的整體操作流程即可,腦子中有一個宏觀的概括就可以。關於每一步是如何操作的,和具體使用的命令,我們以后會一步一步的進行詳解。