前面我們了解了 Git 的誕生和它的相關基本概念,那么它到底是怎樣去管理我們的文件版本的呢?本節內容就來講解下 Git 的工作流程是怎樣的,會從理論和實際操作兩方面配合講解。但由于大家剛入門,很多命令參數不太了解,實際的命令操作部分作為輔助理解,后面還會有很多機會帶大家去接觸實操,先不用怕哈。好了,開始我們今天的內容!
1. 工作流程介紹
我們先從工作流程說起,基本的 Git 工作流程如下:
a. 修改:修改工作區(Working Directory)中的文件。
b. 暫存:選擇要作為下一次提交部分的那些更改,僅將這些更改添加到暫存區域(Staging Area)。
c. 提交:執行一次提交,該提交將獲取本次所在版本的文件并將該快照永久存儲到你的 Git 目錄(.git directory)中。
將這三個流程串起來,可以通俗地理解為:先將本地文件做一修改,修改之后我們要怎么告訴 Git 呢?所以就需要通過命令將本地修改先添加到暫存區,將暫存區理解為一個臨界區。但提交到暫存區之后,還未正式納入 Git 的管理,等你確認這部分內容需要正式提交到 Git 倉庫的時候,再通過提交命令執行提交操作。那么,一個最基本的工作流程就結束了。
對于一些內容大家是不是還有點懵呢?接下來我挑其中涉及到的概念詳細說明下,或許對大家理解有幫助。請繼續往下看。
2. 相關概念
2.1 工作區
工作區是項目一個版本的單個檢出(checkout)。這些文件將從 Git 目錄中的數據庫中拉出(pull),并放置在磁盤上供你使用或修改。
也就是說,我們從 Git 上檢出的某一個版本的文件到本地并存儲在本地磁盤后,此時本地的環境就是工作區,我們做的所有操作都在此基礎上進行。
2.2 暫存區
暫存區域是一個文件,通常包含在你的 Git 目錄中,用于存儲有關下一次提交的內容的信息,也可以叫 “索引”。
暫存區可以理解為工作區修改后的那部分即將用于正式提交的文件存儲的位置,是一個本地目錄和 Git 版本庫正式管理的目錄之間的一個臨界區,這部分存放的就是本地做了修改后告訴 Git 我即將要提交但還沒正式提交的那些內容。
2.3 本地倉庫
本地倉庫可以簡單理解成一個目錄,這個目錄里面的所有文件都被 Git 管理,Git 記錄了每個文件的修改、刪除,因此我們可以對歷史版本進行查看或者還原。
那么,如何創建一個版本庫呢?(說明:以下內容作為 “本地倉庫” 概念的輔助理解,具體命令操作后續會更多接觸,先不用糾結)
a. 選擇一個合適的地方,創建一個空目錄。
b. 在目錄下執行:git init 命令即可初始化一個本地倉庫。
c. 之后當前目錄會出現一個隱藏的.git
的目錄,這個目錄是 Git 來跟蹤管理版本庫的,不要手動修改這個目錄里面的文件,否則會把 Git 倉庫給破壞了。
d. 本地倉庫初始化完成后,我們就可以在本地倉庫進行文件的管理。
2.4 遠程倉庫
上一步已經在本地創建了一個 Git 倉庫,然后可以在 GitHub 上再創建一個 Git 倉庫,并且讓這兩個倉庫進行遠程同步。GitHub 上的倉庫就是遠程倉庫,可以讓其他人通過該倉庫來共同操作。
那么,怎么進行創建、同步遠程倉庫到本地倉庫呢?具體步驟如下(說明:以下內容作為 “遠程倉庫” 概念的輔助理解,具體命令操作后續會更多接觸,先不用糾結):
- 登錄 github,主頁左邊部分 repositories,點擊 new 按鈕 。
- 填寫基本信息,點擊 Create repository 按鈕。
- 之后,我們可以根據提示,將本地已經創建好的倉庫,同遠程倉庫進行關聯。
- 先在本地倉庫新建一個文本,通過 git add 命令添加到暫存區,并通過 git commit 命令將暫存區內容提交到 master 分支(關于分支的知識,后面小節會介紹)。
- 將本地倉庫與遠程倉庫關聯。
- 至此,我們已經初步地建立了一個遠程倉庫,并且與本地倉庫進行了關聯。
注意:
當直接執行:git push -u origin master 時會報錯:
error: src refspec master does not match any.
error: failed to push some refs to ‘https://github.com/javaDreame/git_study.git’
原因是本地倉庫是個空目錄,沒有文件不能關聯。因此需要先創建一個文本,并使用 add/commit 命令添加并提交到本地倉庫,再進行遠程關聯。
重要的話說三遍,先理解流程概念,先理解流程概念,先理解流程概念!
3. 總結
關于 Git 的工作流程我們先講到這里,大家同樣還是先從理論概念上有一個認識。在操作之前,我們首先要搞清理論概念,才能知其然知其所以然,不要急于動手。實際操作和命令使用后續會展開說明,練習的多了自然就熟練了。
通過本小節,我們學習了如下知識:
- Git 工作流程簡介:它是由修改、暫存、提交三個步驟來完成的。
- Git 工作流程中涉及的相關概念:包括工作區、暫存區、本地倉庫和遠程倉庫的理解。
- Git 創建本地倉庫、創建遠程倉庫以及雙方進行簡單的關聯操作。