假設我們有 branch_01 和 branch_02 兩個開發分支,那麼我們怎麼把 branch_01 上的乙個或者幾個commit合併到 branch_02 上呢?
假設 branch_01 有如下兩個commit的hash值
59e7e6545a2eda9b82f5795173792e6490c9cd13
21b385c03a032d90102f1c8321f7858ff8788714
如何檢視commit得hash值呢?
使用 $ git log 命令檢視。
$ git log
在 commit 右邊的就是commit的hash值:
commit 8261c51c2f7aa4282f58e6579dbf35b112d4626b (head -> rel/7.16)
author: wang_zg date: tue sep 11 17:04:17 2018 +0800
每次commit都會生成乙個hash值,這個值是唯一的。
cherry-pick 在 git 文件中的解釋如下:
意思是這個命令可以對已經存在的 commit 進行再次提交。
接下來,我們把 branch_01 的兩個commit合併到 branch_02 中。
首先我們要切換到 branch_02 分支,合併到哪個分支就切換到哪個分支。
$ git checkout branch_02
$ git cherry-pick -n 59e7e6545a2eda9b82f5795173792e6490c9cd13 21b385c03a032d90102f1c8321f7858ff8788714
注意:這兩行命令執行之後,如果順利沒有報錯,就可以使用git commit , git push命令進行正常提交到遠端倉庫,就行。
如果報錯了,也就是說在 cherry-pick 過程中產生了衝突,會報如下錯誤:
automatic cherry-pick failed. after resolving the conflicts,
mark the corrected paths with 'git add ' or 'git rm '
那我們只需跟解決普通衝突一樣,手動解決就行。
$ git status #檢視哪些檔案出現了衝突
$ git commit #提交
$ git push #推送到遠端倉庫
git cherry pick使用小記
cherry pick,顧名思義 摘櫻桃。如果說每一次commit是一顆櫻桃,那麼你可以通過cherry pick命令將這一顆櫻桃採摘到另外一顆櫻桃樹 branch 上。通常使用方式有如下兩種 1 git cherry pick 997367b commit id commit id可通過git l...
git cherry pick使用詳解
cherry pick 和它的名稱一樣,精心挑選,挑選乙個我們需要的 commit 進行操作。它可以用於將在其他分支上的 commit 修改,移植到當前的分支。想在某個穩定版本上,新增乙個剛開發完成的版本中的功能。就可以使用 cherry pick 命令,將這個功能相關的 commit 提取出來,合...
git cherry pick 使用指南
git cherry pick可以選擇某乙個分支中的乙個或幾個commit s 來進行操作。例如,假設我們有個穩定版本的分支,叫v2.0,另外還有個開發版本的分支v3.0,我們不能直接把兩個分支合併,這樣會導致穩定版本混亂,但是又想增加乙個v3.0中的功能到v2.0中,這裡就可以使用cherry p...