在git中,pick常與cherry配合使用,“cherry-pick”命令用于將指定的提交應(yīng)用于其他分支,語法為“git cherry-pick commitHash”;該命令也支持一次轉(zhuǎn)移多個提交到當(dāng)前分支。
本文操作環(huán)境:Windows10系統(tǒng)、Git2.30.0版、Dell G3電腦。
git中pick的用法是什么
git cherry-pick可以選擇某一個分支中的一個或幾個commit(s)來進(jìn)行操作(操作的對象是commit)。例如,假設(shè)我們有個穩(wěn)定版本的分支,叫v2.0,另外還有個開發(fā)版本的分支v3.0,我們不能直接把兩個分支合并,這樣會導(dǎo)致穩(wěn)定版本混亂,但是又想增加一個v3.0中的功能到v2.0中,這里就可以使用cherry-pick了。
就是對已經(jīng)存在的commit 進(jìn)行 再次提交;
git cherry-pick命令的作用,就是將指定的提交(commit)應(yīng)用于其他分支。
$?git?cherry-pick?<commithash></commithash>
上面命令就會將指定的提交commitHash,應(yīng)用于當(dāng)前分支。這會在當(dāng)前分支產(chǎn)生一個新的提交,當(dāng)然它們的哈希值會不一樣。
使用方法如下:
git?cherry-pick?<commit></commit>
git cherry-pick命令的常用配置項如下。
(1)-e,–edit
打開外部編輯器,編輯提交信息。
(2)-n,–no-commit
只更新工作區(qū)和暫存區(qū),不產(chǎn)生新的提交。
(3)-x
在提交信息的末尾追加一行(cherry picked from commit …),方便以后查到這個提交是如何產(chǎn)生的。
(4)-s,–signoff
在提交信息的末尾追加一行操作者的簽名,表示是誰進(jìn)行了這個操作。
(5)-m parent-number,–mainline parent-number
如果原始提交是一個合并節(jié)點(diǎn),來自于兩個分支的合并,那么 Cherry pick 默認(rèn)將失敗,因為它不知道應(yīng)該采用哪個分支的代碼變動。
-m配置項告訴 Git,應(yīng)該采用哪個分支的變動。它的參數(shù)parent-number是一個從1開始的整數(shù),代表原始提交的父分支編號。
$?git?cherry-pick?-m?1?<commithash></commithash>
上面命令表示,Cherry pick 采用提交commitHash來自編號1的父分支的變動。
一般來說,1號父分支是接受變動的分支(the branch being merged into),2號父分支是作為變動來源的分支(the branch being merged from)。
推薦學(xué)習(xí):《Git教程》