Commit 76419807 authored by Valery Sizov's avatar Valery Sizov Committed by Eric Eastwood

Update documentation according to the fact that FF merge is now CE feature

parent f5751008
# Fast-forward merge requests # Fast-forward merge requests
> Included in [GitLab Enterprise Edition Starter][products].
Retain a linear Git history and a way to accept merge requests without Retain a linear Git history and a way to accept merge requests without
creating merge commits. creating merge commits.
......
...@@ -145,6 +145,13 @@ have been marked as a **Work In Progress**. ...@@ -145,6 +145,13 @@ have been marked as a **Work In Progress**.
[Learn more about settings a merge request as "Work In Progress".](work_in_progress_merge_requests.md) [Learn more about settings a merge request as "Work In Progress".](work_in_progress_merge_requests.md)
## Fast-forward merge requests
If you prefer a linear Git history and a way to accept merge requests without
creating merge commits, you can configure this on a per-project basis.
[Read more about fast-forward merge requests.](fast_forward_merge.md)
## Merge request approvals ## Merge request approvals
> Included in [GitLab Enterprise Edition Starter][products]. > Included in [GitLab Enterprise Edition Starter][products].
...@@ -167,15 +174,6 @@ succeeded, the target branch build will also succeed after merging. ...@@ -167,15 +174,6 @@ succeeded, the target branch build will also succeed after merging.
Navigate to a project's settings, select the **Merge commit with semi-linear Navigate to a project's settings, select the **Merge commit with semi-linear
history** option under **Merge Requests: Merge method** and save your changes. history** option under **Merge Requests: Merge method** and save your changes.
## Fast-forward merge requests
> Included in [GitLab Enterprise Edition Starter][products].
If you prefer a linear Git history and a way to accept merge requests without
creating merge commits, you can configure this on a per-project basis.
[Read more about fast-forward merge requests.](fast_forward_merge.md)
## Code Quality reports ## Code Quality reports
> Introduced in [GitLab Enterprise Edition Starter][products] 9.3. > Introduced in [GitLab Enterprise Edition Starter][products] 9.3.
......
...@@ -23,7 +23,7 @@ Add an [issue description template](../description_templates.md#description-temp ...@@ -23,7 +23,7 @@ Add an [issue description template](../description_templates.md#description-temp
Set up your project's merge request settings: Set up your project's merge request settings:
- Set up the merge request method (merge commit, [fast-forward merge](https://docs.gitlab.com/ee/user/project/merge_requests/fast_forward_merge.html#fast-forward-merge-requests)). _Fast-forward is available in [GitLab Enterprise Edition Starter](https://about.gitlab.com/gitlab-ee/)._ - Set up the merge request method (merge commit, [fast-forward merge](https://docs.gitlab.com/ee/user/project/merge_requests/fast_forward_merge.html#fast-forward-merge-requests)).
- Merge request [description templates](../description_templates.md#description-templates). - Merge request [description templates](../description_templates.md#description-templates).
- Enable [merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html#merge-request-approvals), _available in [GitLab Enterprise Edition Starter](https://about.gitlab.com/gitlab-ee/)_. - Enable [merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/merge_request_approvals.html#merge-request-approvals), _available in [GitLab Enterprise Edition Starter](https://about.gitlab.com/gitlab-ee/)_.
- Enable [merge only of pipeline succeeds](../merge_requests/merge_when_pipeline_succeeds.md). - Enable [merge only of pipeline succeeds](../merge_requests/merge_when_pipeline_succeeds.md).
......
...@@ -39,8 +39,8 @@ ...@@ -39,8 +39,8 @@
- [Revert changes in the UI](../user/project/merge_requests/revert_changes.md) - [Revert changes in the UI](../user/project/merge_requests/revert_changes.md)
- [Merge requests versions](../user/project/merge_requests/versions.md) - [Merge requests versions](../user/project/merge_requests/versions.md)
- ["Work In Progress" merge requests](../user/project/merge_requests/work_in_progress_merge_requests.md) - ["Work In Progress" merge requests](../user/project/merge_requests/work_in_progress_merge_requests.md)
- [Fast-forward merge requests](../user/project/merge_requests/fast_forward_merge.md)
- (EE) [Merge request approvals](../user/project/merge_requests/merge_request_approvals.md) - (EE) [Merge request approvals](../user/project/merge_requests/merge_request_approvals.md)
- (EE) [Fast-forward merge requests](../user/project/merge_requests/fast_forward_merge.md)
- (EE) [Repository mirroring](repository_mirroring.md) - (EE) [Repository mirroring](repository_mirroring.md)
- (EE Premium) [Service Desk](../user/project/service_desk.md) - (EE Premium) [Service Desk](../user/project/service_desk.md)
- [Manage large binaries with Git LFS](lfs/manage_large_binaries_with_git_lfs.md) - [Manage large binaries with Git LFS](lfs/manage_large_binaries_with_git_lfs.md)
......
...@@ -186,7 +186,7 @@ If you have an issue that spans across multiple repositories, the best thing is ...@@ -186,7 +186,7 @@ If you have an issue that spans across multiple repositories, the best thing is
![Vim screen showing the rebase view](rebase.png) ![Vim screen showing the rebase view](rebase.png)
With git you can use an interactive rebase (`rebase -i`) to squash multiple commits into one and reorder them. With git you can use an interactive rebase (`rebase -i`) to squash multiple commits into one and reorder them.
In GitLab Enterprise Edition Starter and GitLab.com, you can also [rebase before merge](../user/project/merge_requests/fast_forward_merge.md) from the web interface. You can also [rebase before merge](../user/project/merge_requests/fast_forward_merge.md) from the web interface.
This functionality is useful if you made a couple of commits for small changes during development and want to replace them with a single commit or if you want to make the order more logical. This functionality is useful if you made a couple of commits for small changes during development and want to replace them with a single commit or if you want to make the order more logical.
However you should never rebase commits you have pushed to a remote server. However you should never rebase commits you have pushed to a remote server.
Somebody can have referred to the commits or cherry-picked them. Somebody can have referred to the commits or cherry-picked them.
...@@ -247,7 +247,7 @@ Before accepting a merge request, select `rebase before merge`. ...@@ -247,7 +247,7 @@ Before accepting a merge request, select `rebase before merge`.
![Merge request widget](merge_request_widget.png) ![Merge request widget](merge_request_widget.png)
GitLab will attempt to cleanly rebase before merging branches. If clean rebase is not possible, regular merge will be performed. GitLab will attempt to cleanly rebase before merging branches. If clean rebase is not possible, regular merge will be performed.
If clean rebase is possible and history of the traget branch will be altered with the the merge. If clean rebase is possible and history of the target branch will be altered with the the merge.
In conclusion, we can say that you should try to prevent merge commits, but not eliminate them. In conclusion, we can say that you should try to prevent merge commits, but not eliminate them.
Your codebase should be clean but your history should represent what actually happened. Your codebase should be clean but your history should represent what actually happened.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment