事情要从一次不规范的代码开发开始说起
背景故事
时间
2024年某个风平浪静的周五晚上
地点
中国,北京,西二旗,某互联网大厂会议室
人物
小杰,小A,小B,老K
对话
老K:昨天提交的代码被测试打回来了!为什么小B没开发完的内容也一起提交上去了?
小B:啊?我不清楚啊,我在开发分支B开发完一部分就提交到test分支进行联调了啊
小A:额(‘’!),我把test分支合并到发布分支提交给测试了,因为我跟小杰最开始在各自的分支开发,但是中间联调的时候,为了图方便直接在test分支上改,改来改去就直接在test分支上开发了。。。
老K:什么?你怎么能直接在test分支开发?
老K:正确的开发流程规范应该是:现在各自的开发分支上开发,然和合并到test分支上进行联调,联调没有问题在提交发布release分支进行测试和部署,验证没问题在把各自的开发分支合并到基线分支master
老K:现在要把代码回滚,谁做的事情谁负责。小杰,你去把test分支上的代码抽出来放到单独一个开发分支上
小杰:啊?
小杰接受这个任务,准备把test分支上他跟小A多次提交的内容跟转移到一个纯净的开发分支,小杰决定使用git cherry pick
这个命令