在开发项目时,很多时候都会遇上这种情况。将当前开发的需求进行拆分上线,或者线上发现严重问题需要临时发版(好不容易发版那就顺便把其余的也一块包含进去吧),手动进行操作呢比较麻烦且容易出现问题。那有没有好的既方便又省力的方式呢?答案是有的 ——— git cherry-pick
基本用法
只迁移一个 commit 可以使用下面的方式,会在当前分支生成一个新的 commitHash
git cherry-pick <commitHash>
如果要迁移的 commit 在分支的最后也可以这样
git cherry-pick branch
同时迁移多个 commit
git cherry-pick <commitHash> <commitHash>
迁移连续的一段 commit
git cherry-pick <commitHash>..<commitHash>
使用 … 就可以,这个符号是左开右闭的,不包含左边的 commit,并且左边的 commit 必须要早于右边的 commit,想要全闭合的使用下面这种方式
git cherry-pick <commitHash>^..<commitHash>