git合并特定commits到另一个分支
## 引入正常开发流程都是在`master`分支上新建`dev`分支,然后在`dev`分支上添加功能,修复`bug`等操作,然后测试完毕没问题再合并到`master`分支的。
然后有一天你在`dev`分支上开发着的时候,产品说要急着增加某个功能,此时你dev分支上已经改了很多东西,你只需要`dev`分支上的某一个`commit`,你就需要`git cherry-pick`。
## 正确姿势
1. 我们是把`dev`分支上的某一个`commit`合并到`master`分支上,所以我们要先切回到`master`分支上。
!(https://picture-transmission.iplus-studio.top/uPic/d1xAy8.png)
选中`master`分支,右键签出。
2. 直接把你要合并的commit选中,然后点击一下樱桃按钮,即可把这个commit合并到当前分支上。
!(https://picture-transmission.iplus-studio.top/uPic/z6OxV2.png)
同样如果有合并冲突,也可以解决冲突。
!(https://picture-transmission.iplus-studio.top/uPic/gNMV4P.png)
## 总结
这个功能很简单,但很实用,也可以通过`git`命名来实现,只是笔者觉得`idea`的效率确实很高。
`cherry-pick`适合部分提交在不同分支之间的`merge`,如果全量`merge`,直接分支`merge`即可。 可以,这操作很骚 建议这种情况下,先从 master 拉出一个新的分支 release,然后 cherry-pick 到 release,测试没问题再合并回去噢 fnckyon2014 发表于 2022-3-20 01:28
建议这种情况下,先从 master 拉出一个新的分支 release,然后 cherry-pick 到 release,测试没问题再合并 ...
可以哈,更加严谨。 gdoudeng 发表于 2022-3-20 15:12
可以哈,更加严谨。
:Dweeqw如果是公司里的,建议还是尽量能够遵循某种 git flow 规则,相对于 cherry-pick 更容易把控。
因为 cherry-pick 对 commit 也有要求,比如 commit 应该不混合多个功能的内容,不然可能就乱了。(实际大部分都做不到这点)
当然,cherry-pick 还是有用的
页:
[1]