使用場(chǎng)景:項(xiàng)目中同一個(gè)服務(wù)在2個(gè)不同的倉(cāng)庫(kù)中開發(fā),當(dāng)在2中開發(fā)的部分功能需要合并到1中時(shí)衙吩。
操作步驟:
1)在需要合并的目錄打開gitbash,執(zhí)行
git remote add 遠(yuǎn)程別名 遠(yuǎn)程地址
如:git remote add alias xxxxxxx.git
2)git fetch 別名 分支名
如:git fetch alias develop
此處必須使用 git fetch溪窒,因?yàn)?git pull = git fetch + git merge坤塞,會(huì)自動(dòng)合并所有提交,從而導(dǎo)致不需要的提交被合入當(dāng)前分支澈蚌。
3)在gitlab commit查看commit的hash值摹芙,或者使用git log查看。復(fù)制需要合并的單個(gè)或多個(gè)hash后宛瞄,執(zhí)行命令:
單個(gè):git cherry-pick commitId
多個(gè):git cherry-pick commitId1 .. commitId5 (表示從1到5的提交)
git cherry-pick -n commitId1 commitId2 (cherry-pick 1和2)
4)使用git status確認(rèn)狀態(tài)無誤后浮禾,執(zhí)行g(shù)it push即完成合并