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://chabaoo.cn/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)文章
基于 Dubbo Admin 臨時(shí)踢除問(wèn)題服務(wù)實(shí)例步驟
服務(wù)在線上運(yùn)行的過(guò)程中,難免遇到某些節(jié)點(diǎn)有問(wèn)題,為了不影響整體服務(wù)的正常運(yùn)行,需要臨時(shí)下線問(wèn)題的服務(wù)實(shí)例,這篇文章主要介紹了基于 Dubbo Admin 臨時(shí)踢除問(wèn)題服務(wù)實(shí)例,需要的朋友可以參考下2022-12-12編程知識(shí)點(diǎn)(1)關(guān)鍵詞之存儲(chǔ)類(lèi)型
這篇文章主要介紹了編程知識(shí)點(diǎn)(1)關(guān)鍵詞之存儲(chǔ)類(lèi)型的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-07-07詳解window啟動(dòng)webpack打包的三種方法
這篇文章主要介紹了window啟動(dòng)webpack打包的三種方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Windows10使用Anaconda安裝Tensorflow-gpu的教程詳解
Anaconda是一個(gè)方便的python包管理和環(huán)境管理軟件,一般用來(lái)配置不同的項(xiàng)目環(huán)境。這篇文章主要介紹了Windows10使用Anaconda安裝Tensorflow-gpu的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02git_stats?web代碼圖形統(tǒng)計(jì)工具詳解
倉(cāng)庫(kù)代碼統(tǒng)計(jì)工具之一,可以按git提交人、提交次數(shù)、修改文件數(shù)、代碼行數(shù)、注釋量在時(shí)間維度上進(jìn)行統(tǒng)計(jì),亦可按各文件類(lèi)型進(jìn)行簡(jiǎn)單的統(tǒng)計(jì),非常方便.本文給大家介紹git_stats?web代碼圖形統(tǒng)計(jì)工具,需要的朋友參考下吧2021-12-12細(xì)說(shuō)ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32編碼
本文主要介紹了細(xì)說(shuō)ASCII、GB2312/GBK/GB18030、Unicode、UTF-8/UTF-16/UTF-32編碼,詳細(xì)的介紹了這些編碼的知識(shí),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09JetBrains 學(xué)生認(rèn)證教程(Pycharm,IDEA… 等學(xué)生認(rèn)證教程)
這篇文章主要介紹了JetBrains 學(xué)生認(rèn)證教程(Pycharm,IDEA… 等學(xué)生認(rèn)證教程)文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09