GIT
今天給大家介紹git一個非常實用的技能cherry-pick
倒庵。cherry-pick
字面翻譯就是撿櫻桃(吃貨們請自重)棺滞,但在git里,它的功能是把已經(jīng)存在的commit進行挑選,然后重新提交。下面大家可以腦補一下這種情況穷绵,本地倉庫有3個分支master
、test
特愿、normal
仲墨,他們的提交記錄如下:
Branch commit log
在master
的基礎(chǔ)上,test
進行了2次提交揍障,normal
進行了1次提交∧垦現(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 dd4e49
和git cherry-pick dd4e49 9b47dd
這兩個的結(jié)果可能會不一樣,順序很重要 - 重要的事情說三遍:不斷地練習龄坪、練習昭雌、練習
簡書作者 小菜荔枝 轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)