常用的git命令有很多,一些基本的命令比如git clone
、git pull
、git push
等就没有必要作为记录了。
而有些命令,只在某些情况下才需要使用到。比如最近在开发的过程中遇到这样一种情况:
我从主分支master
checkout
出了一个新的开发分支dev_some
,而由于某些原因,dev_some
最终是不能合并回master分支的。但是在某一段时间t内我在dev_some提交的代码,需要合并回master分支。
这个时候就需要使用cherry-pick
命令了,它可以将某个commit像打补丁的方式打进某个分支,因此通过该命令很好的完成我了的需求。
git cherry-pick <commitA> ..<commitB>
其中commit可以填写commit ID的前六位:
例如:
git cherry-pick 98ef8de..e6a5ba
两个commit之间的范围有两种常见的写法:
- commitA ..commitB(不包含commitA,包含commitB)
- commitA … commitB(包含commitA,包含commitB)
cherry-pick
过程中,解决冲突后可能需要如下命令:
git cherry-pick --continue//解决冲突后,继续cherry-pick
git cherry-pick --quit
git cherry-pick --abort//终止本次cherry-pick回到之前的状态