您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“Git本地分支的操作有哪些”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Git本地分支的操作有哪些”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
在進(jìn)行多人協(xié)作開(kāi)發(fā)的時(shí)候,為了防止互相干擾,提高協(xié)同開(kāi)發(fā)的體驗(yàn),建議每個(gè)開(kāi)發(fā)者都基于分支進(jìn)行項(xiàng)目功能的開(kāi)發(fā)。
在初始化本地Git倉(cāng)庫(kù)的時(shí)候,Git默認(rèn)已經(jīng)幫我們創(chuàng)建了一個(gè)名字叫做master的分支。通常我們把這個(gè)master分支叫做主分支。
在實(shí)際工作中,master主分支的作用是:用來(lái)保存和記錄整個(gè)項(xiàng)目已完成的功能代碼。
因此,不允許程序員直接在master分支上修改代碼,因?yàn)檫@樣做的風(fēng)險(xiǎn)太高,容易導(dǎo)致整個(gè)項(xiàng)目崩潰,因此我們需要在自己負(fù)責(zé)開(kāi)發(fā)的分支上進(jìn)行開(kāi)發(fā)
由于程序員不能直接在master分支上進(jìn)行功能的開(kāi)發(fā),所以就有了功能分支的概念。
功能分支指的是專(zhuān)門(mén)用來(lái)開(kāi)發(fā)新功能的分支,它是臨時(shí)從master主分支上分叉出來(lái)的,當(dāng)新功能開(kāi)發(fā)且測(cè)試完畢后,最終需要合并到master主分支上,如圖所示:
使用如下的命令,可以查看當(dāng)前Git倉(cāng)庫(kù)中所有的分支列表:
git branch
注意:分支前面的*表示當(dāng)前所處的分支
使用如下的命令,可以基于當(dāng)前分支,創(chuàng)建一個(gè)新的分支,此時(shí),新分支中的代碼和當(dāng)前分支完全一樣:(所以開(kāi)發(fā)時(shí)我們需要在主分支上創(chuàng)建新分支)
git branch 分支名稱(chēng)
使用如下的命令,可以切換到指定的分支上進(jìn)行開(kāi)發(fā):
git checkout 分支名稱(chēng)
使用如下的命令,可以創(chuàng)建指定名稱(chēng)的新分支,并立即切換到新分支上:
1 #-b表示創(chuàng)建一個(gè)新分支 2 # checkout表示切換到剛才新建的分支上 3 git checkout -b 分支名稱(chēng)
功能分支的代碼開(kāi)發(fā)測(cè)試完畢之后,可以使用如下的命令,將完成后的代碼合并到 master主分支上:
1 切換到master分支 2 git checkout master 3在 master 分支上運(yùn)行 git merge 命令,將要合并分支的代碼合并到 master分支 4 git merge 分支名稱(chēng)
當(dāng)把功能分支的代碼合并到master主分支上以后,就可以使用如下的命令,刪除對(duì)應(yīng)的功能分支:
git branch -d 分支名稱(chēng)
如果在兩個(gè)不同的分支中,對(duì)同一個(gè)文件進(jìn)行了不同的修改,Git就沒(méi)法干凈的合并它們。此時(shí),我們需要打開(kāi)這些包含沖突的文件然后手動(dòng)解決沖突。
1#假設(shè):在把reg分支合并到 master分支期間,代碼發(fā)生了沖突 2 git checkout master 3 git merge reg
打開(kāi)沖突的文件手動(dòng)解決(也可以使用vs code的輔助解決(紅色圈里面))
解決后重新提交和合并
#打開(kāi)包含沖突的文件,手動(dòng)解決沖突之后,再執(zhí)行如下的命令 git add . git commit -m“解決了分支合并沖突的問(wèn)題" git merge 分支名稱(chēng)
如果是第一次將本地分支推送到遠(yuǎn)程倉(cāng)庫(kù),需要運(yùn)行如下的命令:
1#-u表示把本地分支和遠(yuǎn)程分支進(jìn)行關(guān)聯(lián),只在第一次推送的時(shí)候需要帶-u參數(shù) 2 git push -u 遠(yuǎn)程倉(cāng)庫(kù)的別名 本地分支名稱(chēng):遠(yuǎn)程分支名稱(chēng) 3 4#實(shí)際案例: 5 git push -u origin payment: pay 6 7#如果希望遠(yuǎn)程分支的名稱(chēng)和本地分支名稱(chēng)保持一致,可以對(duì)命令進(jìn)行簡(jiǎn)化: 8 git push -u origin payment
如果不是第一次將本地分支推送到遠(yuǎn)程倉(cāng)庫(kù),需要運(yùn)行如下的命令:
則切換到要推送的分支后直接git push 就可以將本地分支推送到遠(yuǎn)程倉(cāng)庫(kù)
git remote show 遠(yuǎn)程倉(cāng)庫(kù)名稱(chēng)
跟蹤分支指的是:從遠(yuǎn)程倉(cāng)庫(kù)中,把遠(yuǎn)程分支下載到本地倉(cāng)庫(kù)中。需要運(yùn)行的命令如下:
可以使用如下的命令,把遠(yuǎn)程分支最新的代碼下載到本地對(duì)應(yīng)的分支中:
1#從遠(yuǎn)程倉(cāng)庫(kù),拉取當(dāng)前分支最新的代碼,保持當(dāng)前分支的代碼和遠(yuǎn)程分支代碼一致 2 git pull
可以使用如下的命令,刪除遠(yuǎn)程倉(cāng)庫(kù)中指定的分支:
1 #刪除遠(yuǎn)程倉(cāng)庫(kù)中,指定名稱(chēng)的遠(yuǎn)程分支 2 git push 遠(yuǎn)程倉(cāng)庫(kù)名稱(chēng) --delete 遠(yuǎn)程分支名稱(chēng) 3 #示例: 4 git push origin --delete pay
讀到這里,這篇“Git本地分支的操作有哪些”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。