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