Git的基本操作流程及工作區(qū)版本庫(kù)暫存區(qū)的關(guān)系
1、Git的基本操作流程
- 初始化一個(gè)本地版本庫(kù),每個(gè)版本庫(kù)僅需要執(zhí)行一次。
- 將中央版本庫(kù)內(nèi)容克隆到本地版本庫(kù),每個(gè)客戶(hù)機(jī)僅需要執(zhí)行一次。
- 添加指定文件到版本控制管理(這一步只是添加到Git暫存區(qū))。
- 將添加、修改等操作,提交到本地版本庫(kù)(將暫存區(qū)的內(nèi)容提交到本地版本庫(kù))。
如果遠(yuǎn)程倉(cāng)庫(kù)的內(nèi)容被別人修改了,需要先同步遠(yuǎn)程的內(nèi)容,直接git pull就可以更新本地的文件,然后再提交。再這過(guò)程中可能需要解決沖突。
在修改完成后,如果發(fā)現(xiàn)錯(cuò)誤,可以撤回提交并再次修改并提交。 - 將本地版本庫(kù)中的修改內(nèi)容“推送”到中央版本庫(kù),客戶(hù)機(jī)需要在一階段性工作完成之后,或在某些時(shí)間點(diǎn)(下班,周五),將修改過(guò)的內(nèi)容備份到中央版本庫(kù),方便他人更新到最新的代碼。
- 將中央版本庫(kù)中的變化內(nèi)容“拉取”本地版本庫(kù),客戶(hù)機(jī)需要不定時(shí)的更新才可以獲取最新的內(nèi)容。
提示:實(shí)際工作中的很多功能和操作都在第3、4步中。
如下圖:

說(shuō)明:
上面內(nèi)容涉及到Git中的幾個(gè)區(qū)域:
workspace:工作區(qū)。
staging area:暫存區(qū)/緩存區(qū)。
local repository:版本庫(kù)或本地倉(cāng)庫(kù)。
remote repository:遠(yuǎn)程倉(cāng)庫(kù)。
2、工作區(qū)、暫存區(qū)、版本庫(kù)的區(qū)別
我們先來(lái)理解下Git 工作區(qū)、暫存區(qū)和版本庫(kù)概念,這對(duì)以后我們學(xué)習(xí)Git命令會(huì)有非常大的幫助。
(1)工作區(qū)
就是你在電腦里能看到的目錄。
一般我們執(zhí)行g(shù)it init命令,就能把一個(gè)目錄初始化成Git本地版本庫(kù)。
而這個(gè)目錄就是該Git本地版本庫(kù)的工作區(qū)。
如下圖:git-demo1目錄就是一個(gè)本地倉(cāng)庫(kù)。

具體結(jié)構(gòu)如下圖:

(2)版本庫(kù)
版本庫(kù):工作區(qū)(項(xiàng)目根目錄)有一個(gè)隱藏目錄.git,這個(gè)目錄就是版本庫(kù),而該目錄不算工作區(qū)。

具體結(jié)構(gòu)如下圖:

(3)暫存區(qū)
暫存區(qū):
- 暫存區(qū)從字面上去理解就是用來(lái)暫時(shí)保存文件的地方,實(shí)際上它的作用和它的名字是一致的,暫存區(qū)可以起到過(guò)渡的作用,當(dāng)我們寫(xiě)代碼修改了一些文件的時(shí)候,可以把修改的代碼提交到暫存區(qū)保存,然后接著寫(xiě)代碼,接著再提交到暫存區(qū)保存,寫(xiě)完某些代碼覺(jué)得沒(méi)什么可以修改的時(shí)候,可以將暫存區(qū)里面的文件一次性提交到版本庫(kù)。
- 暫存區(qū)英文叫stage,或index。
- 暫存區(qū)是包含在版本庫(kù)中的,一般存放在.git目錄下的index文件(.git/index)中,所以我們把暫存區(qū)有時(shí)也叫作索引(index)。
暫存區(qū)位置如下圖:

具體結(jié)構(gòu)如下圖:

說(shuō)明:
版本庫(kù)又存在兩個(gè)很重要的區(qū)域:暫存區(qū)與分支區(qū)。
分支區(qū):該區(qū)域中可以包含很多分支,而每個(gè)分支都可以記錄當(dāng)前工作區(qū)中文件狀態(tài)的快照。
如下圖:

即:分支區(qū)就相當(dāng)于本地版本庫(kù)。
(4)通過(guò)新增文件理解三個(gè)區(qū)的關(guān)系
1)工作區(qū)新加文件 index.html。

2)將index.html提交到暫存區(qū)。

3)將暫存區(qū)內(nèi)的內(nèi)容提交到版本庫(kù)。

4)將本地版本推送到Github上。

(5)說(shuō)明
我們只要知道Git的整體操作流程即可,腦子中有一個(gè)宏觀的概括就可以。關(guān)于每一步是如何操作的,和具體使用的命令,我們以后會(huì)一步一步的進(jìn)行詳解。
參考:http://www.dhdzp.com/article/245735.htm
以上就是Git的基本操作流程及工作區(qū)版本庫(kù)暫存區(qū)的關(guān)系的詳細(xì)內(nèi)容,更多關(guān)于Git操作流程工作區(qū)版本庫(kù)暫存區(qū)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
delphi使用Chilkat 組件和庫(kù)從SFTP下載文件的方法
這篇文章主要介紹了delphi使用Chilkat 組件和庫(kù)從SFTP下載文件的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
ChatGPT平替-ChatGLM環(huán)境搭建與部署運(yùn)行效果
這篇文章主要介紹了ChatGPT平替-ChatGLM環(huán)境搭建與部署運(yùn)行,本節(jié)將介紹環(huán)境搭建與基本部署效果,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
詳解git submodule update獲取不到最新提交的代碼
這篇文章主要介紹了詳解git submodule update獲取不到最新提交的代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
比特幣上的數(shù)獨(dú)游戲合約的實(shí)現(xiàn)代碼
這篇文章主要介紹了比特幣上的數(shù)獨(dú)游戲合約的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
解決Jrebel用戶(hù)名中文導(dǎo)致用不了的問(wèn)題
這篇文章主要介紹了解決Jrebel用戶(hù)名中文導(dǎo)致用不了的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-10-10

