W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在Git中,有幾種方法可以將更改從一個(gè)分支集成到另一個(gè)分支中:合并分支、重定向分支或?qū)⒉煌奶峤粡囊粋€(gè)分支應(yīng)用到另一種(cherry-pick)。
假設(shè)您已經(jīng)創(chuàng)建了一個(gè)功能分支來(lái)處理特定的任務(wù),并且想要在完成并測(cè)試您的功能之后將工作結(jié)果集成到主代碼庫(kù)中:
將您的分支合并到主分支中是最常見(jiàn)的方法。
當(dāng)您在您的特色部門工作的時(shí)候,您的隊(duì)友們繼續(xù)承擔(dān)他們的工作,這是非常普遍的:
當(dāng)您運(yùn)行 merge 時(shí),來(lái)自功能分支的更改將集成到目標(biāo)分支的HEAD中:
Git 創(chuàng)建一個(gè)新的提交(M),這個(gè)提交被稱為合并提交,其結(jié)果是將來(lái)自功能分支與來(lái)自兩個(gè)分支分叉的點(diǎn)的master的更改組合在一起。
要合并分支,請(qǐng)執(zhí)行以下操作:
如果您的工作樹(shù)是干凈的(即你沒(méi)有任何未提交的改變),并且您的功能分支和目標(biāo)分支之間不會(huì)發(fā)生沖突,Git會(huì)合并這兩個(gè)分支,并且合并提交將出現(xiàn)在Log中:
如果分支與目標(biāo)分支之間發(fā)生沖突,系統(tǒng)將提示您解決沖突(請(qǐng)參閱“解決沖突”以了解詳細(xì)信息)。
如果您有本地更改將被合并覆蓋,IntelliJ IDEA將建議執(zhí)行智能合并。如果您選擇此選項(xiàng),IntelliJ IDEA將存儲(chǔ)未提交的更改,執(zhí)行合并,然后取消更改。
當(dāng)您rebase分支到另外一個(gè)分支時(shí),您將第一個(gè)分支的提交應(yīng)用到第二個(gè)分支的HEAD提交之上,而不是合并到目標(biāo)分支。
假設(shè)您已經(jīng)創(chuàng)建了一個(gè)功能分支來(lái)處理特定的任務(wù),并對(duì)該分支進(jìn)行了多次提交:
當(dāng)你在你的分支發(fā)展,你的隊(duì)友繼續(xù)承諾:
執(zhí)行rebase操作時(shí)master,通過(guò)在當(dāng)前的HEAD提交之上應(yīng)用提交,將您在功能分支中完成的更改集成到分支中master:
您可以通過(guò)從主菜單選擇:VCS | Git | 繼續(xù)重新綁定,來(lái)恢復(fù)中斷重新分配操作,并通過(guò)選擇:VCS | Git | 中止重新激活,來(lái)取消未完成的重新綁定操作。
要重新綁定當(dāng)前在另一個(gè)分支上檢出的分支,請(qǐng)執(zhí)行以下操作:
要重新綁定當(dāng)前簽出的分支的頂部的分支,請(qǐng)執(zhí)行以下操作:
有關(guān)如何在重新綁定期間跳過(guò)或壓縮提交的詳細(xì)信息,請(qǐng)參閱通過(guò)執(zhí)行交互式重新分配來(lái)編輯項(xiàng)目歷史記錄。
觀看此視頻,了解合并或重建操作如何反映在“日志”視圖中:
有時(shí)您只需要將一個(gè)提交應(yīng)用到不同的分支,而不是重新綁定或合并整個(gè)分支。這可能是有用的,例如,如果您正在使用功能分支,并且想要集成在兩個(gè)分支已經(jīng)分支之后提交的master程序,或者您可能希望將修復(fù)移植到以前的發(fā)行版分支等。
IntelliJ IDEA允許您使用Cherry-pick動(dòng)作來(lái)做到這一點(diǎn):
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: