diff options
author | Eric Eastwood <contact@ericeastwood.com> | 2017-10-04 10:56:03 -0500 |
---|---|---|
committer | Eric Eastwood <contact@ericeastwood.com> | 2017-10-04 10:56:03 -0500 |
commit | decf0443698a289ea39dbfff3ae5491936466c92 (patch) | |
tree | 3053a77cccc41a95f47cdee8411c8babbf8c1dea /doc/user/project/merge_requests/fast_forward_merge.md | |
parent | 50063d86f0998f6cf8e2ca53aa2a11cb71a2b350 (diff) | |
parent | 5a23af928e52350039f1db8eee97278d34d1f1b0 (diff) | |
download | gitlab-ce-decf0443698a289ea39dbfff3ae5491936466c92.tar.gz |
Merge branch 'master' into 34102-online-view-of-artifacts-fe
Diffstat (limited to 'doc/user/project/merge_requests/fast_forward_merge.md')
-rw-r--r-- | doc/user/project/merge_requests/fast_forward_merge.md | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/doc/user/project/merge_requests/fast_forward_merge.md b/doc/user/project/merge_requests/fast_forward_merge.md new file mode 100644 index 00000000000..085170d9f03 --- /dev/null +++ b/doc/user/project/merge_requests/fast_forward_merge.md @@ -0,0 +1,35 @@ +# Fast-forward merge requests + +Retain a linear Git history and a way to accept merge requests without +creating merge commits. + +## Overview + +When the fast-forward merge ([`--ff-only`][ffonly]) setting is enabled, no merge +commits will be created and all merges are fast-forwarded, which means that +merging is only allowed if the branch could be fast-forwarded. + +When a fast-forward merge is not possible, the user must rebase the branch manually. + +## Use cases + +Sometimes, a workflow policy might mandate a clean commit history without +merge commits. In such cases, the fast-forward merge is the perfect candidate. + +## Enabling fast-forward merges + +1. Navigate to your project's **Settings** and search for the 'Merge method' +1. Select the **Fast-forward merge** option +1. Hit **Save changes** for the changes to take effect + +Now, when you visit the merge request page, you will be able to accept it +**only if a fast-forward merge is possible**. + +![Fast forward merge request](img/ff_merge_mr.png) + +If the target branch is ahead of the source branch, you need to rebase the +source branch locally before you will be able to do a fast-forward merge. + +![Fast forward merge rebase locally](img/ff_merge_rebase_locally.png) + +[ffonly]: https://git-scm.com/docs/git-merge#git-merge---ff-only |