Git基礎(chǔ)入門(八)Git分支的基本概念

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

成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)10年經(jīng)驗成就非凡,專業(yè)從事網(wǎng)站制作、成都網(wǎng)站設(shè)計,成都網(wǎng)頁設(shè)計,成都網(wǎng)頁制作,軟文發(fā)布平臺,廣告投放平臺等。10年來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:028-86922220,我們期待您的來電!

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

分支簡介

用戶的每一次提交,Git都會把它們之間串成一條時間線,這條時間線就是一個分支。Git默認會有一條時間線,這條時間線就叫做master。

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

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

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

git log --oneline  --decorate                                 #查看當前處于那個分支上

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

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

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)在做修改的話,項目將始于一個較舊的版本。 本質(zhì)上來講,這就是忽略testing分支所做的修改,以便于向另一個方向進行開發(fā)。

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

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

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


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

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


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

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

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

網(wǎng)頁題目:Git基礎(chǔ)入門(八)Git分支的基本概念
網(wǎng)站URL:http://muchs.cn/article18/jcpcdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、網(wǎng)站導(dǎo)航

廣告

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

成都做網(wǎng)站