Cherry-pick是什么

比如在dev分支上有这样的提交记录:

1484235 (HEAD -> dev, origin/dev) update
672ac3d (origin/master, origin/HEAD, master) c1
9dcf99c sst

然后再master分支上有这样的提交记录:

672ac3d (HEAD -> master, origin/master, origin/HEAD) c1
9dcf99c sst
e8a8d45 broken heart

现在我想把dev的分支上的一些修改放到master上,但是我又不想去merge或者rebase什么之类的,因为我不想把那个时间线弄的乱糟糟的,那么这时候你可以使用cherry-pick,就单纯的把dev分支上的某次commit,移动到master分支上:

这时候要记录下dev分支你想要移动到master分支上的修改的commit id,然后要在master分支上操作:

git cherry-pick 1484235
git cherry-pick -n 1484235 // 不自动提交
git cherry-pick 1484235 ac82235  // 也可以多个commit id进行提交

就可以了