|
|
# 快进合并请求[](#快进合并请求 "Permalink")
|
|
|
|
|
|
有时,工作流策略可能会强制要求没有合并提交的干净提交历史记录. 在这种情况下,快速合并是理想的选择.
|
|
|
有时,工作流策略可能会强制要求没有合并提交的干净的提交记录,在这种情况下,快速合并是一个理想的选择。
|
|
|
|
|
|
使用快速转发合并请求,您可以保留线性 Git 历史记录以及一种无需创建合并提交即可接受合并请求的方法.
|
|
|
使用快进合并请求,您可以保留线性的 Git 历史记录并且无需创建合并请求但仍能实现合并代码提交。
|
|
|
|
|
|
## Overview[](#overview "Permalink")
|
|
|
## 概览[](#overview "Permalink")
|
|
|
|
|
|
启用快进合并( [`--ff-only`](https://git-scm.com/docs/git-merge#git-merge---ff-only) )设置时,将不会创建任何合并提交,并且所有合并都将被快速转发,这意味着仅当分支可以被快速转发时才允许合并.
|
|
|
启用快进合并( [`--ff-only`](https://git-scm.com/docs/git-merge#git-merge---ff-only) )时,将不会创建任何合并请求提交,并且所有合并都将会被设置快进,这也就意味着仅当分支可以被快进时才允许合并。
|
|
|
|
|
|
当无法进行快速合并时,将为用户提供重新设置基准的选项.
|
|
|
当无法进行快进合并时,将为用户提供重新设置基准的选项。
|
|
|
|
|
|
## Enabling fast-forward merges[](#enabling-fast-forward-merges "Permalink")
|
|
|
## 开启快进合并[](#enabling-fast-forward-merges "Permalink")
|
|
|
|
|
|
1. 导航到项目的**设置,**然后搜索"合并方法"
|
|
|
2. 选择**快速合并**选项
|
|
|
1. 导航到项目的**项目设置**,然后点击"合并请求"
|
|
|
2. 在合并方法中选择**快速合并**选项
|
|
|
3. 点击**保存更改**以使更改生效
|
|
|
|
|
|
现在,当您访问合并请求页面时, **只有在可能进行快速**合并的情况下,您才能接受它.
|
|
|
设置完成后,当您访问合并请求页面时, **只有在可能进行快速**合并的情况下,您才能接受合并请求。
|
|
|
|
|
|
[![Fast forward merge request](img/50ab118d473b61d3d08773d6ea65a8ac.png)](img/ff_merge_mr.png)
|
|
|
如果无法进行快速合并,但可以进行无冲突的 Rebase,则将提供一个 Rebase 按钮。
|
|
|
|
|
|
如果无法进行快速合并,但可以进行无冲突的变基,则将提供一个变基按钮.
|
|
|
|
|
|
[![Fast forward merge request](img/51192310b3785dec5f60b6d59717a7a6.png)](img/ff_merge_rebase.png)
|
|
|
|
|
|
如果目标分支位于源分支的前面,并且无法进行无冲突的变基,则需要先在本地对源分支进行变基,然后才能进行快速合并.
|
|
|
|
|
|
[![Fast forward merge rebase locally](img/d241e2868510cfa5755170c1f02c78f3.png)](img/ff_merge_rebase_locally.png) |
|
|
\ No newline at end of file |
|
|
如果目标分支位于源分支的前面,并且无法进行无冲突的 Rebase,则需要先在本地对源分支进行 Rebase,然后才能进行快速合并。 |
|
|
\ No newline at end of file |