Skip to content

Latest commit

 

History

History
70 lines (65 loc) · 3.02 KB

merge_method_guide.md

File metadata and controls

70 lines (65 loc) · 3.02 KB

openEuler社区单仓Pull Request合入方式指引

一、社区PR合入方式对比

1.rebase merge:

变基合并,将所有的提交都合并到目标分支,且在目标仓库的目标分支的changelog中不包含pull request的任何信息.
rebase example:
rebase rebase-git

2.squash merge:

扁平化分支合并,将所有的提交合并为一个以PR的title为changelog的新的提交,然后合并到目标分支上.
squash example:
squash squash-git

3.default merge:

合并分支(默认方式),将所有提交以及新创建一个以PR的title为changelog的提交均合并到目标分支上. default default-git
tips: examples中的测试用例均为有两个提交的PR,测试了三种不同的合入方式

二、单一仓库文件增加merge_method字段配置方式

当前Gitee平台对PR的合入方式提供了三种:mergerebase mergesquash mergemerge是默认的合入方式,可不用进行单独配置。

rebase example:

name: A-Tune-BPF-Collection
description: A-Tune-BPF-Collection is BPF based tunning tools collection
branches:
- name: master
  type: protected
type: public
merge_method: rebase

squash example:

name: A-Tune-BPF-Collection
description: A-Tune-BPF-Collection is BPF based tunning tools collection
branches:
- name: master
  type: protected
type: public
merge_method: squash

default example:

name: A-Tune-BPF-Collection
description: A-Tune-BPF-Collection is BPF based tunning tools collection
branches:
- name: master
  type: protected
type: public

三、通过Pull Request评论的方式进行合入方式切换

命令使用方式说明:
en:https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md
zh:https://gitee.com/openeuler/community/blob/master/zh/sig-infrastructure/command.md

(1) 使用 "/rebase"命令

通过 /rebase 命令给Pull Request加上merge/rebase标签,标志着此合并请求将以变基合并的方式合入(rebase merge),如果需要切换合并方式, 请使用 /rebase cancel 去掉merge/rebase标签。

(2) 使用 "/squash"命令

通过 /squash 命令给Pull Request加上merge/squash标签,标志着此合并请求将以扁平化分支合并的方式合入(squash merge),如果需要切换合并方式, 请使用 /squash cancel 去掉merge/squash标签。

(3)两者均不使用

Pull Request将以默认的merge的方式进行合入。

四、更改合入方式生效的优先级

Pull Request评论方式 > 仓库文件中配置的merge_method字段