场景: 在开发中,有时候在几个版本间切换,本计划要提交到T分支上。不小心提交的代码到了N分支,但这时候已经提交了不少commit了,还有其他的人的commit,但我想把N分支自己提交的部分commit
迁回到自己原计划提交的A分支上。
这使用就用到了git cherry-pick
步骤:
1、 在N分支上 使用git log 找到自己提交的commit id
commit 59df85cf1d9bcd9cd004ecf6689ab2a9d0f30dca Author: dongjunjie005 <dongjunjie005@ke.com> Date: Wed Jul 20 13:24:56 2022 +0800
2、切换到A分支上
git cherry-pick 59df85cf1d9bcd9cd004ecf6689ab2a9d0f30dca
再push 上去。
可以查看下 git log 不过这时候commit id 是不一样的。
3、剩余的就是去掉N分支上的不需要的commit
git reset --hard 59df85cf1d9bcd9cd004ecf6689ab2a9d0f30dca
再push 上提交到server
IDEA 工具上会使用更方便
1、切换到A分支 点击git ,找到N分支上的几个需要的commit ,点击右键,cherry-pick ,然后就回来了,可以在push到server上