github提供了三种合并pr的途径,分别是Create a merge commit、Squash and merge和Rebase and merge
1、Create a merge commit
在fork的仓库里创建一个test-create-a-merge-commit的分支,并进行了几次commit,紧接着也创建一个对应的PR
Reviewer在合并PR时,选择Create a merge commit,github会出现一个表单,可输入这个PR的相关信息,
这种方式会把所有的提交通过一个merge commit添加到main分支了,就类似git merge命令
成功合并后
2、Squash and merge
在fork的仓库里创建一个test-squash-and-merge的分支,并进行了几次commit,紧接着也创建一个对应的PR
Reviewer在合并PR时,选择
Squash and merge,github会出现一个表单,可输入这个PR的相关信息,
这种方式会在main分支上,把所有的提交压缩成一个commit,git log的记录比较优雅一些
成功合并后,注意下面几个commit,是第一种合并方式的结果,这种方式的结果就是箭头指向那个,只会存在一个commimt
3、Rebase and merge
在fork的仓库里创建一个test-rebase-and-merge的分支,并进行了几次commit,紧接着也创建一个对应的PR
Reviewer在合并PR时,选择Rebase and merge,这次github就不会出现一个表单了,
因为这种方式会把所有的提交通过rebase的方式添加到main分支上,也就是直接使用对应的日志了
成功合并后,注意最下面那个commit,是第二种合并方式的结果