Pull Request在github中的作用
- 主要是用来做代码reivew
- 从开发分支合并到环境分支
- 控制不同级别人员对于分支内容的提交
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
pull Request在github上pr的实践
没有最好的实践,只有最合适的实践。
在不同分支向不同目标分支合并代码的场景实际是merge合并方法比较适用,在代码review时不会将已有的代码进行提交