场景一,临时改BUG,新增紧急需求
- 建立hotfix分支
- merge线上分支到hotfix分支
- 开发代码
- merge hotfix分支到线上分支
- 部署
场景二,紧急上线测试环境的某个功能
一般是要为每个功能建立一个feature分支的,但是总会有人图省事,直接把很多功能点提交到测试分支,这时候如果需要紧急上线其中一个功能
姿势一,使用cherry-pick命令,逐个将提交合并到线上分支,适用于提交次数较少的改动
- 切换到master线上分支
- git checkout master
- 合并aaaaaa这次的提交记录到master
- git cherry-pick aaaaaa
- 部署
姿势二,使用rebase,将一系列的提交合并到线上分支
- 切换到feature分支
- 基于feature的bbbbbb提交记录分支建立临时分支
- git checkout -b temp bbbbbb
- 从aaaaaa这条提交记录开始,rebase temp分支到master分支
- git rebase –ontomaster aaaaaa^
- 部署