使用 cherry-pick 揀選指定提交
Cherry-Pick 的意思是把指定提交像是摘櫻桃一樣取過來,開發社群通常不鼓勵使用此指令,詳情請見 Git Cherry Pick 的後遺症,我們不管這個問題只學如何使用。
# 揀選一個提交
git cherry-pick <commit-hash>
# 揀選提交範圍從 1~n,記得加上`^`
git cherry-pick <commit-hash-1>^..<commit-hash-n>
# 揀選指定三個提交
git cherry-pick <commit-hash-1> <commit-hash2> <commit-hash3>
這些指令的作用揀選指定的提交,由左至右一個一個重演在現在的提交之後,如果遇到合併衝突,解決方式和 rebase 一模一樣。
cherry-pick 有幾個實用選項如下:
-e
: 手動設定提交訊息-n
: 只引入提交內容不新增提交歷史-x
: 自動加上註記說明是 cherry-pick 還有原始 hash