作用: 將指定的提交(commit)應(yīng)用于其他分支臼膏。
用法:
git cherry-pick <commitHash>
該commitHash為git的hash值
一、轉(zhuǎn)移單個(gè)提交
場景:
分支master:A-B-C-D
分支dev: e-f-g-h
-
將g應(yīng)用于master分支上(常用)
git checkout master git cherry-pick g git push
報(bào)錯(cuò)請看最后第三點(diǎn)
-
應(yīng)用分支的最新提交(將dev的最新提交應(yīng)用到master)
git checkout master git cherry-pick dev git push
報(bào)錯(cuò)請看最后第三點(diǎn)
二惶岭、轉(zhuǎn)移多個(gè)提交
場景:
分支master:A-B-C-D
分支dev: e-f-g-h
-
一次轉(zhuǎn)移多個(gè)提交(相對較少 或者 不連續(xù))
- 轉(zhuǎn)移e寿弱、g到分支master上
git checkout master git cherry-pick e g git push
報(bào)錯(cuò)請看最后第三點(diǎn)
-
一次性轉(zhuǎn)移多個(gè)連續(xù)提交
- 轉(zhuǎn)移f、g按灶、h到分支master上(方法一)
git checkout master git chery-pick e..h git push
請注意症革,該命令并不會包含e
報(bào)錯(cuò)請看最后第三點(diǎn)
- 轉(zhuǎn)移f、g鸯旁、h到分支master上(方法二)
git checkout master git chery-pick f^..h git push
報(bào)錯(cuò)請看最后第三點(diǎn)
三噪矛、報(bào)錯(cuò)處理
原因:存在沖突
-
處理:
-
解決沖突量蕊,之后執(zhí)行
git cherry-pick --continue git push
如--continue之后,仍存在沖突艇挨,則重復(fù)上述步驟
-
存在沖突太多残炮,或者其他原因,不想繼續(xù)cherry-pick缩滨,返回最初點(diǎn)吉殃。
git cherry-pick --abort
-