git cherry-pick用法

git cherry-pick用法

 

场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要把dev-3.0分支上的某些更改移到2.x的版本上, 那么怎么办呢?
基于release-2.0分支新建分支release-2.1, 并且到新创建的分支上
git checkout -b release-2.1 release-2.0

将dev-3.0分支上的某些commit在release-2.1分支上重演

git cherry-pick dev-3.0分支的某些commit-hash
git cherry-pick  
20c2f506d789bb9f041050dc2c1e954fa3fb6910 
2633961a16b0dda7b767b9264662223a2874dfa9 
5d5929eafd1b03fd4e7b6aa15a6c571fbcb3ceb4  

多个commit-hash使用空格分割, commit-hash最好按提交时间先后排列, 即最先提交的commit放在前面.

 

代码冲突

--continue

用户解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用下面的命令,让 Cherry pick 过程继续执行。

$ git cherry-pick --continue

--abort

发生代码冲突后,放弃合并,回到操作前的样子。

--quit

 

 发生代码冲突后,退出 Cherry pick,但是不回到操作前的样子。

 

2021-05-18  15:41:34

 

 

posted @ 2021-05-18 15:42  铁打的代码流水的bug  阅读(176)  评论(0)    收藏  举报