Git基礎(chǔ)入門(八)Git分支的基本概念-創(chuàng)新互聯(lián)

幾乎所有的版本控制系統(tǒng)都以某種形式支持分支。 使用分支意味著你可以把你的工作從開發(fā)主線上分離開來,以免影響開發(fā)主線。 在很多版本控制系統(tǒng)中,這是一個(gè)略微低效的過程——常常需要完全創(chuàng)建一個(gè)源代碼目錄的副本。對于大項(xiàng)目來說,這樣的過程會(huì)耗費(fèi)很多時(shí)間。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),巴馬企業(yè)網(wǎng)站建設(shè),巴馬品牌網(wǎng)站建設(shè),網(wǎng)站定制,巴馬網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,巴馬網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

有人把Git的分支模型稱為它的`‘必殺技特性’',也正因?yàn)檫@一特性,使得Git從眾多版本控制系統(tǒng)中脫穎而出。 為何Git的分支模型如此出眾呢?Git處理分支的方式可謂是難以置信的輕量,創(chuàng)建新分支這一操作幾乎能在瞬間完成,并且在不同分支之間的切換操作也是一樣便捷。 與許多其它版本控制系統(tǒng)不同,Git鼓勵(lì)在工作流程中頻繁地使用分支與合并,哪怕一天之內(nèi)進(jìn)行許多次。

分支簡介

用戶的每一次提交,Git都會(huì)把它們之間串成一條時(shí)間線,這條時(shí)間線就是一個(gè)分支。Git默認(rèn)會(huì)有一條時(shí)間線,這條時(shí)間線就叫做master。

Git的master分支并不是一個(gè)特殊分支,它跟其它分支完全沒有區(qū)別,之所以幾乎每一個(gè)倉庫都有master分支,是因?yàn)間it init命令默認(rèn)創(chuàng)建的。

Git的分支,其實(shí)本質(zhì)上僅僅是指向提交對象的可變指針。Git的默認(rèn)分支名字是master, 它會(huì)在每次的提交操作中自動(dòng)向前移動(dòng)。

git branch testing                                  #創(chuàng)建一個(gè)testing分支,會(huì)在當(dāng)前所在的提交對象上創(chuàng)建一個(gè)指針

git log --oneline  --decorate                  #查看當(dāng)前處于那個(gè)分支上

        4555188 (HEAD -> master, testing) version—1 #HEAD指針指向master分支

Git有一個(gè)名為HEAD的特殊指針,指向當(dāng)前所在的本地分支,通過HEAD指針Git就能知道當(dāng)前處于那個(gè)分支上面。

git checkout testing  Switched to branch 'testing'git log --oneline --decorate 4555188 (HEAD -> testing, test1, master) version—1 #HEAD指向了 testing   分支的作用:echo “test1” > a.py #修改a.py文件內(nèi)容git commit -a -m 'version—2' #提交cat a.py  #查看文件內(nèi)容 testgit checkout master #切換分支,將工作目錄恢復(fù)成 master 分支所指向的快照內(nèi)容cat a.py #查看文件內(nèi)容(什么都沒有)

也就是說,你現(xiàn)在做修改的話,項(xiàng)目將始于一個(gè)較舊的版本。 本質(zhì)上來講,這就是忽略testing分支所做的修改,以便于向另一個(gè)方向進(jìn)行開發(fā)。

分支切換會(huì)改變你工作目錄中的文件,在切換分支時(shí),要注意你工作目錄里的文件會(huì)被改變。 如果是切換到一個(gè)較舊的分支,你的工作目錄會(huì)恢復(fù)到該分支最后一次提交時(shí)的樣子。

echo “test2” >a.py#修改a.py文件內(nèi)容

git commit -a -m 'version—2' #提交cat a.py  #查看文件內(nèi)容

上述兩次改動(dòng)針對的是不同分支:你可以在不同分支間不斷地來回切換和工作,并在時(shí)機(jī)成熟時(shí)將它們合并起來

git log --oneline --decorate --graph --all 顯示提交歷史、各個(gè)分支的指向以及項(xiàng)目的分支分叉情況

由于Git的分支實(shí)質(zhì)上僅是包含所指對象校驗(yàn)和的文件,所以它的創(chuàng)建和銷毀都異常高效。 創(chuàng)建一個(gè)新分支就相當(dāng)于往一個(gè)文件中寫入41個(gè)字節(jié)(40個(gè)字符和1個(gè)換行符)

Git中,任何規(guī)模的項(xiàng)目都能在瞬間創(chuàng)建新分支。 同時(shí),由于每次提交都會(huì)記錄父對象,所以尋找恰當(dāng)?shù)暮喜⒒A(chǔ)(即共同祖先)也是同樣的簡單和高效

詳細(xì)內(nèi)容:https://git-scm.com/book/zh/v2/Git-分支-分支簡介

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站題目:Git基礎(chǔ)入門(八)Git分支的基本概念-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://muchs.cn/article20/dcghjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站改版、ChatGPT、網(wǎng)站維護(hù)、網(wǎng)頁設(shè)計(jì)公司、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司