git cherry-pick


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

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

git cherry-pick 9b47dd dd4e49

 

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

git add main.js

 

最后執行

git cherry-pick --continue

 

最后要說明的是:

  • 執行完git cherry-pick --continue后不需要commit了,該命令會自動提交
  • git cherry-pick --abort可以放棄本次cherry-pick
  • git cherry-pick 9b47dd dd4e49git cherry-pick dd4e49 9b47dd這兩個的結果可能會不一樣,順序很重要

最好借用工具解決沖突,GitTortoise


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM