cherry-pick 和它的名稱一樣,精心挑選,挑選乙個我們需要的 commit 進行操作。它可以用於將在其他分支上的 commit 修改,移植到當前的分支。
想在某個穩定版本上,新增乙個剛開發完成的版本中的功能。就可以使用 cherry-pick 命令,將這個功能相關的 commit 提取出來,合入穩定版本的分支上。
1.git cherry-pick
當執行完 cherry-pick 之後,將會自動生成乙個新的 commit 進行提交,也就是會有乙個新的 commit id。
如果順利的話,就可以正常提交了。如果遇到衝突,使用 git diff 解決衝突即可,工作中,不推薦手工解決衝突,最好還是使用一些 diff 工具來處理,畢竟手工處理容易出錯。
2.git cherry-pick -x
增加 -x 引數,表示保留原提交的作者資訊進行提交
3.git cherry_pick …
4.git cherry-pick ^...
支援批量 cherry-pick ,就是可以一次將乙個連續的時間序列內的 commit ,設定乙個開始和結束的 commit ,進行 cherry-pick 操作。
可以看到,它的範圍就是 start-commit-id 到 end-commit-id 之間所有的 commit,但是它這是乙個 (左開,右閉] 的區間,也就是說,它將不會包含 start-commit-id 的 commit。
而如果想要包含 start-commit-id 的話,就需要使用 ^ 標記一下,就會變成乙個 [左閉,右閉] 的區間。
使用 git log —pretty=oneline 來檢視當前分支最近的提交,注意 git 命令中,對於 commit-id 的操作,都只需要使用前五位就可以了。
git cherry-pick 371c2…971209 // (2,5]
git cherry-pick 371c2^…971209 // [2,5]
git cherry pick使用小記
cherry pick,顧名思義 摘櫻桃。如果說每一次commit是一顆櫻桃,那麼你可以通過cherry pick命令將這一顆櫻桃採摘到另外一顆櫻桃樹 branch 上。通常使用方式有如下兩種 1 git cherry pick 997367b commit id commit id可通過git l...
Git cherry pick 使用總結
假設我們有 branch 01 和 branch 02 兩個開發分支,那麼我們怎麼把 branch 01 上的乙個或者幾個commit合併到 branch 02 上呢?假設 branch 01 有如下兩個commit的hash值 59e7e6545a2eda9b82f5795173792e6490c...
git cherry pick 使用指南
git cherry pick可以選擇某乙個分支中的乙個或幾個commit s 來進行操作。例如,假設我們有個穩定版本的分支,叫v2.0,另外還有個開發版本的分支v3.0,我們不能直接把兩個分支合併,這樣會導致穩定版本混亂,但是又想增加乙個v3.0中的功能到v2.0中,這裡就可以使用cherry p...