现在假设我们同时在开发两个版本,v1.0和v1.1,然后pm突然决定,将v1.1的部分功能提前放到v1.0版本先上线?此时该怎么办呢?1729415992
比如说我们同时拉了两个版本在开发,每个版本肯定都是有不同的feature分支的
假如说此时已经进入了v1.0和v1.1两个版本的release分支测试的阶段
但是突然发现,老板boss很着急,希望v1.1版本的部分核心功能,提前放到v1.0先上线,v1.1的版本剩余的功能可以慢慢上线
v1.1版本里面,提交历史,这个时候就来了,为什么之前告诉大家说,一定要按照规范,每天开发好的那一块儿完整的功能,就作为一个commit,后续基于这条清晰的脉络可以做很多事情
比如说现在就可以从V1.1的提交历史中,找到v1.0需要提前上线的那些功能对应的commit
如果你没有清晰而且定义良好的commit历史的话,试问,你怎么从一团乱麻的v1.1版本的代码中,找出来指定的那几个功能对应的代码呢??
提前完成测试,直接上线
很简单,用git cherry-pick功能
如果我们要做到部分功能提前挪到v1.0先上线,那么就需要将v1.1中那些功能对应的git commit放到v1.0分支上去,然后将那些commit对应的代码都应用到v1.0分支上去,就可以了
git checkout feature/v1.0
git cherry-pick feature/v1.1分支对应的多个commit标识