cherry-pick是Git里對(duì)commit操作很好的一個(gè)指令摘悴,比如想把test分支中的其中多個(gè)commit merge到master,那么你需要挑你所需要的commit合到master持偏,這時(shí)候就用cherry-pick來撿。
|
| C3
| |
C1 C2
| | test
| /
| /
master
想將test分支中的C2 commit合并到master分支氨肌,丟棄C3的修改鸿秆。
直接merge會(huì)把C3也合并進(jìn)去,這時(shí)用git cherry-pick可以解決問題
- 先用git log查看怎囚,C2 commit的id卿叽,復(fù)制下來
- git checkout 到master分支下
- git cherry-pick <C2_id>
如果cherry-pick過程沒有出現(xiàn)沖突的話,那就是完成了合并恳守,如下圖所示
|
C4
| \
| \ C3
| \ |
C1 C2
| | test
| /
| /
master
如果出現(xiàn)沖突考婴,
- 先解決沖突
- git add 將解決了沖突的文件添加到暫存區(qū)
- git cherry-pick --continue就行
這樣就完成啦。催烘。沥阱。
參考文檔:https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA