Pull Request在github中的三种合并分支的方法
一、merge 合并
1、特点
- merge是指将开发分支的代码merge到目标分支
- merge会产生一条对应的merge记录
- merge会存在代码覆盖情况,如果产生冲突需要手动解决
2、适用场景 - 适用于不同分支向不同目标分支合并代码的所有场景
二、squashing 压缩合并
1、特点
- squashing 会将开发分支中的代码commit合并为一个综合的commit
- squashing 会将综合的commit作为一次commitmerge到目标分支中
- squashing 如果存在多分支之间切换的情况,会出现多次综合性的commit中出现重复的提交
2、适用场景 - 适用于不同开发分支向同一目标分支合并代码的场景
三、rebase 变基合并
1、特点
- rebase 变基是将用户的commit插入到目标分支合适的位置
- rebase和merge是不同的合并方式,它类似于cherry pick
2、适用场景 - 适用于多人在同一分支各自进行本地开发场景
- 不适用与分支间merge