Commit b6e06124 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Add documentation for ff-merge and rebase

parent 57505bfe
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
- [Project forking workflow](forking_workflow.md) - [Project forking workflow](forking_workflow.md)
- [Project users](add-user/add-user.md) - [Project users](add-user/add-user.md)
- [Protected branches](protected_branches.md) - [Protected branches](protected_branches.md)
- [Fast-forward merge](ff_merge.md)
- [Rebase before merge](rebase_before_merge.md) - [Rebase before merge](rebase_before_merge.md)
- [Sharing a project with a group](share_with_group.md) - [Sharing a project with a group](share_with_group.md)
- [Share projects with other groups](share_projects_with_other_groups.md) - [Share projects with other groups](share_projects_with_other_groups.md)
......
# Fast-forward merge
GitLab Enterprise Edition offers a way to accept merge request without creating merge commit.
If you prefer linear git history - this might be a good feature for you.
You can configure this per project basis by navigating to the project settings page and selecting `Only fast-forward merging` checkbox.
![Merge request settings](ff_merge.png)
Now when you visit merge request page you will be able to accept it only if fast-forward merge is possible.
If target branch is ahead of source branch - you need to rebase source branch before you will be able to do fast-forward merge.
For simple rebase operations you can use [Rebase before merge](rebase_before_merge.md) feature.
#Rebase before merge # Rebase before merge
GitLab Enterprise Edition offers a way to rebase before merging a merge request. You can configure this per project basis by navigating to the project settings page and selecting `Merge Requests Rebase` checkbox. GitLab Enterprise Edition offers a way to rebase source branch of merge request.
This feature is part of [Fast-forward merge](ff_merge.md) feature.
It allows you to rebase source branch of merge request in order to perform fast-forward merge.
You can configure this per project basis by navigating to the project settings page and selecting `Rebase button` checkbox.
This checkbox is visible only if you have `Only fast-forward merging` checkbox enabled.
![Merge request settings](merge_request_settings.png) ![Merge request settings](merge_request_settings.png)
Before accepting a merge request, select `rebase before merge`.
![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. Now if fast-forward merge requires rebase - you will see rebase button:
If clean rebase is possible and history of the target branch will be altered with the merge.
![Rebase request widget](rebase_request_widget.png)
GitLab will attempt to rebase source branch. If rebase succeed you will see `Accept merge request` button.
If clean rebase is not possible - you need to do rebase manually.
Possibly rebase requires some conflicts to be resolved by human.
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