工作場(chǎng)景
工作場(chǎng)景中我們常常會(huì)遇到以下情況:
小明:靚仔/妹,我上線那天有事情,我的那個(gè)分支你幫我一起推一下
摸魚崽:幫我也合一下,好哥哥
我:好(你)呀(md)
如果在這種時(shí)候你說我不會(huì),我只會(huì)add,commit、push我本地的,你的分支我哪兒會(huì)啊,是不是有點(diǎn)尷尬(面子不重要,技術(shù)不能被懷疑啊喂!)
下面我們就來說說合并Git多fetch的方法
合并多分支
1.首先,確保你已經(jīng)將遠(yuǎn)程倉庫添加為本地倉庫的遠(yuǎn)程源
git remote add <remote_name> <remote_url>
#remote_name 是你給遠(yuǎn)程倉庫起的名稱,remote_url 是遠(yuǎn)程倉庫的 URL
2.使用 git fetch 命令從遠(yuǎn)程倉庫獲取最新的更新,可以獲取多個(gè)遠(yuǎn)程分支的更新
git fetch <remote_name> <branch_name1> <branch_name2> ...
#branch_name1、branch_name2 等則是遠(yuǎn)程倉庫的分支名稱。
3.這樣,就可以將多個(gè)branch的更新合并到本地倉庫進(jìn)行提交啦,不過需要注意一下,在你將別人的分支fetch到本地后,雖然你在本地已經(jīng)有了那個(gè)分支的最新代碼,但是它還不在你本地分支的歷史記錄中。如果你直接進(jìn)行add、commit、push的操作,相當(dāng)于是在本地創(chuàng)建了一個(gè)全新的提交記錄,它沒有與遠(yuǎn)程分支的歷史記錄合并,這樣會(huì)導(dǎo)致遠(yuǎn)程分支和本地分支出現(xiàn)分歧,而且在將來的合并操作中可能會(huì)導(dǎo)致沖突
為了避免這種問題,你需要使用git merge命令將遠(yuǎn)程分支合并到本地分支中。這將在本地分支的歷史記錄中創(chuàng)建一個(gè)新的提交記錄,該記錄包含遠(yuǎn)程分支的最新更改,同時(shí)保留了本地分支的更改。這樣就可以確保你的本地分支與遠(yuǎn)程分支的歷史記錄保持同步,減少未來合并操作中出現(xiàn)沖突的可能性
解決沖突
如果不出意外的話意外就發(fā)生了,你在合并的時(shí)候遇到?jīng)_突了,雖然心里一萬頭那個(gè)什么馬在奔騰,咱還是得耐著性子去解決,總不能把人家請(qǐng)假的人拉回來吧
1.確認(rèn)沖突:使用git status命令查看當(dāng)前倉庫狀態(tài),確認(rèn)哪些文件發(fā)生了沖突,控制臺(tái)輸出大概如下
On branch fail_brach #出現(xiàn)問題的分支
You have unmerged paths.
(fix conflicts and run "git commit")
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: moyuzai.py #存在沖突的文件
no changes added to commit (use "git add" and/or "git commit -a")
2.切換到目標(biāo)分支:使用git checkout命令切換到目標(biāo)分支,例如:git checkout main。
3.合并分支:使用git merge命令合并需要合并的分支,例如:git merge feature_branch
舉例:如果你現(xiàn)在在feature_branch分支中,想要將main分支合并到feature分支中,需要先執(zhí)行命令git checkout main,切換到main分支中,再執(zhí)行g(shù)it merge feature_branch命令
4.解決沖突并提交:去打開發(fā)生沖突的文件,手動(dòng)解決沖突(好像解決掉制造沖突的人),并將解決沖突后的文件add到暫存區(qū),然后commit
5.切換回原分支:使用git checkout命令切換回原分支,例如:git checkout Mybranch
6.合并分支:再次使用git merge命令將目標(biāo)分支合并到當(dāng)前所在分支中,例如:git merge XXX
7.如果這時(shí)候還有沖突,重復(fù)步驟4文章來源:http://www.zghlxwxcb.cn/news/detail-536329.html
8.再次提交更改,并push到對(duì)應(yīng)的遠(yuǎn)程倉庫文章來源地址http://www.zghlxwxcb.cn/news/detail-536329.html
到了這里,關(guān)于Git合并多分支及沖突解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!