Git教程 cherry-pick

GIT

今天給大家介紹git一個非常實用的技能cherry-pickcherry-pick字面翻譯就是撿櫻桃(吃貨們請自重),但在git里,它的功能是把已經(jīng)存在的commit進行挑選,然后重新提交。下面大家可以腦補一下這種情況,本地倉庫有3個分支master、testnormal,他們的提交記錄如下:

Branch commit log

master的基礎(chǔ)上,test進行了2次提交,normal進行了1次提交?,F(xiàn)在想把test的第2次提交(僅僅是第2次提交,不包含第1次提交)和normal的第1次提交合并到master分支,直接merge分支是行不通的,這樣會把兩個分支的全部提交都合并到master,用cherry-pick即可完美的解決問題, 如果normal第一次提交的SHA-1值是9b47dd,test第二次提交的值是dd4e49,執(zhí)行如下命令即可把這兩個提交合并到master

git cherry-pick 9b47dd dd4e49

如果有沖突,則需要修改沖突文件,然后添加修改文件到暫存區(qū),命令如下:

git add main.js

最后執(zhí)行

git cherry-pick --continue

大功告成,此時作者項目的提交記錄如下:

cherry-pick后

最后要說明的是:

  • 執(zhí)行完git cherry-pick --continue后不需要commit了,該命令會自動提交
  • git cherry-pick --abort可以放棄本次cherry-pick
  • git cherry-pick 9b47dd dd4e49git cherry-pick dd4e49 9b47dd這兩個的結(jié)果可能會不一樣,順序很重要
  • 重要的事情說三遍:不斷地練習(xí)、練習(xí)、練習(xí)

簡書作者 小菜荔枝 轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容