Add merge conflict docs
This commit is contained in:
parent
4952a24f58
commit
b79378cae8
3 changed files with 37 additions and 0 deletions
BIN
doc/user/project/merge_requests/img/conflict_section.png
Normal file
BIN
doc/user/project/merge_requests/img/conflict_section.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 242 KiB |
BIN
doc/user/project/merge_requests/img/merge_request_widget.png
Normal file
BIN
doc/user/project/merge_requests/img/merge_request_widget.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
37
doc/user/project/merge_requests/resolve_conflicts.md
Normal file
37
doc/user/project/merge_requests/resolve_conflicts.md
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# Merge conflict resolution
|
||||||
|
|
||||||
|
When a merge request has conflicts, GitLab may provide the option to resolve
|
||||||
|
those conflicts in the GitLab UI. (See
|
||||||
|
[conflicts available for resolution](#conflicts-available-for-resolution) for
|
||||||
|
more information on when this is available.) If this is an option, you will see
|
||||||
|
a **resolve these conflicts** link in the merge request widget:
|
||||||
|
|
||||||
|
![Merge request widget](img/merge_request_widget.png)
|
||||||
|
|
||||||
|
Clicking this will show a list of files with conflicts, with conflict sections
|
||||||
|
highlighted:
|
||||||
|
|
||||||
|
![Conflict section](img/conflict_section.png)
|
||||||
|
|
||||||
|
Once all conflicts have been marked as using 'ours' or 'theirs', the conflict
|
||||||
|
can be resolved. This will perform a merge of the target branch of the merge
|
||||||
|
request into the source branch, resolving the conflicts using the options
|
||||||
|
chosen. If the source branch is `feature` and the target branch is `master`,
|
||||||
|
this is similar to performing `git checkout feature; git merge master` locally.
|
||||||
|
|
||||||
|
## Conflicts available for resolution
|
||||||
|
|
||||||
|
GitLab allows resolving conflicts in a file where all of the below are true:
|
||||||
|
|
||||||
|
- The file is text, not binary
|
||||||
|
- The file does not already contain conflict markers
|
||||||
|
- The file, with conflict markers added, is not over 200 KB in size
|
||||||
|
- The file exists under the same path in both branches
|
||||||
|
|
||||||
|
If any file with conflicts in that merge request does not meet all of these
|
||||||
|
criteria, the conflicts for that merge request cannot be resolved in the UI.
|
||||||
|
|
||||||
|
Additionally, GitLab does not detect conflicts in renames away from a path. For
|
||||||
|
example, this will not create a conflict: on branch `a`, doing `git mv file1
|
||||||
|
file2`; on branch `b`, doing `git mv file1 file3`. Instead, both files will be
|
||||||
|
present in the branch after the merge request is merged.
|
Loading…
Reference in a new issue