Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
4f5bb980
Commit
4f5bb980
authored
Feb 13, 2017
by
Achilleas Pipinellis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Move merge requests index file inside the merge_requests dir
[ci skip]
parent
b609ee55
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
178 additions
and
180 deletions
+178
-180
doc/user/project/merge_requests.md
doc/user/project/merge_requests.md
+1
-169
doc/user/project/merge_requests/index.md
doc/user/project/merge_requests/index.md
+169
-0
doc/user/project/merge_requests/versions.md
doc/user/project/merge_requests/versions.md
+7
-10
doc/workflow/README.md
doc/workflow/README.md
+1
-1
No files found.
doc/user/project/merge_requests.md
View file @
4f5bb980
# Merge Requests
Merge requests allow you to exchange changes you made to source code and
collaborate with other people on the same project.
## Authorization for merge requests
There are two main ways to have a merge request flow with GitLab:
1.
Working with
[
protected branches
][]
in a single repository
1.
Working with forks of an authoritative project
[
Learn more about the authorization for merge requests.
](
merge_requests/authorization_for_merge_requests.md
)
## Cherry-pick changes
Cherry-pick any commit in the UI by simply clicking the
**Cherry-pick**
button
in a merged merge requests or a commit.
[
Learn more about cherry-picking changes.
](
merge_requests/cherry_pick_changes.md
)
## Merge when pipeline succeeds
When reviewing a merge request that looks ready to merge but still has one or
more CI builds running, you can set it to be merged automatically when CI
pipeline succeeds. This way, you don't have to wait for the pipeline to finish
and remember to merge the request manually.
[
Learn more about merging when pipeline succeeds.
](
merge_requests/merge_when_pipeline_succeeds.md
)
## Resolve discussion comments in merge requests reviews
Keep track of the progress during a code review with resolving comments.
Resolving comments prevents you from forgetting to address feedback and lets
you hide discussions that are no longer relevant.
[
Read more about resolving discussion comments in merge requests reviews.
](
merge_requests/merge_request_discussion_resolution.md
)
## Resolve conflicts
When a merge request has conflicts, GitLab may provide the option to resolve
those conflicts in the GitLab UI.
[
Learn more about resolving merge conflicts in the UI.
](
merge_requests/resolve_conflicts.md
)
## Revert changes
GitLab implements Git's powerful feature to revert any commit with introducing
a
**Revert**
button in merge requests and commit details.
[
Learn more about reverting changes in the UI
](
merge_requests/revert_changes.md
)
## Merge requests versions
Every time you push to a branch that is tied to a merge request, a new version
of merge request diff is created. When you visit a merge request that contains
more than one pushes, you can select and compare the versions of those merge
request diffs.
[
Read more about the merge requests versions.
](
merge_requests/versions.md
)
## Work In Progress merge requests
To prevent merge requests from accidentally being accepted before they're
completely ready, GitLab blocks the "Accept" button for merge requests that
have been marked as a
**Work In Progress**
.
[
Learn more about settings a merge request as "Work In Progress".
](
merge_requests/work_in_progress_merge_requests.md
)
## Ignore whitespace changes in Merge Request diff view
If you click the
**Hide whitespace changes**
button, you can see the diff
without whitespace changes (if there are any). This is also working when on a
specific commit page.
![
MR diff
](
merge_requests/img/merge_request_diff.png
)
>**Tip:**
You can append
`?w=1`
while on the diffs page of a merge request to ignore any
whitespace changes.
## Tips
Here are some tips that will help you be more efficient with merge requests in
the command line.
> **Note:**
This section might move in its own document in the future.
### Checkout merge requests locally
A merge request contains all the history from a repository, plus the additional
commits added to the branch associated with the merge request. Here's a few
tricks to checkout a merge request locally.
Please note that you can checkout a merge request locally even if the source
project is a fork (even a private fork) of the target project.
#### Checkout locally by adding a git alias
Add the following alias to your
`~/.gitconfig`
:
```
[alias]
mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' -
```
Now you can check out a particular merge request from any repository and any
remote. For example, to check out the merge request with ID 5 as shown in GitLab
from the
`upstream`
remote, do:
```
git mr upstream 5
```
This will fetch the merge request into a local
`mr-upstream-5`
branch and check
it out.
#### Checkout locally by modifying `.git/config` for a given repository
Locate the section for your GitLab remote in the
`.git/config`
file. It looks
like this:
```
[remote "origin"]
url = https://gitlab.com/gitlab-org/gitlab-ce.git
fetch = +refs/heads/*:refs/remotes/origin/*
```
You can open the file with:
```
git config -e
```
Now add the following line to the above section:
```
fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
```
In the end, it should look like this:
```
[remote "origin"]
url = https://gitlab.com/gitlab-org/gitlab-ce.git
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
```
Now you can fetch all the merge requests:
```
git fetch origin
...
From https://gitlab.com/gitlab-org/gitlab-ce.git
* [new ref] refs/merge-requests/1/head -> origin/merge-requests/1
* [new ref] refs/merge-requests/2/head -> origin/merge-requests/2
...
```
And to check out a particular merge request:
```
git checkout origin/merge-requests/1
```
[
protected branches
]:
protected_branches.md
This document was moved to
[
merge_requests/index.md
](
merge_requests/index.md
)
.
doc/user/project/merge_requests/index.md
0 → 100644
View file @
4f5bb980
# Merge requests
Merge requests allow you to exchange changes you made to source code and
collaborate with other people on the same project.
## Authorization for merge requests
There are two main ways to have a merge request flow with GitLab:
1.
Working with
[
protected branches
][]
in a single repository
1.
Working with forks of an authoritative project
[
Learn more about the authorization for merge requests.
](
authorization_for_merge_requests.md
)
## Cherry-pick changes
Cherry-pick any commit in the UI by simply clicking the
**Cherry-pick**
button
in a merged merge requests or a commit.
[
Learn more about cherry-picking changes.
](
cherry_pick_changes.md
)
## Merge when pipeline succeeds
When reviewing a merge request that looks ready to merge but still has one or
more CI builds running, you can set it to be merged automatically when CI
pipeline succeeds. This way, you don't have to wait for the pipeline to finish
and remember to merge the request manually.
[
Learn more about merging when pipeline succeeds.
](
merge_when_pipeline_succeeds.md
)
## Resolve discussion comments in merge requests reviews
Keep track of the progress during a code review with resolving comments.
Resolving comments prevents you from forgetting to address feedback and lets
you hide discussions that are no longer relevant.
[
Read more about resolving discussion comments in merge requests reviews.
](
merge_request_discussion_resolution.md
)
## Resolve conflicts
When a merge request has conflicts, GitLab may provide the option to resolve
those conflicts in the GitLab UI.
[
Learn more about resolving merge conflicts in the UI.
](
resolve_conflicts.md
)
## Revert changes
GitLab implements Git's powerful feature to revert any commit with introducing
a
**Revert**
button in merge requests and commit details.
[
Learn more about reverting changes in the UI
](
revert_changes.md
)
## Merge requests versions
Every time you push to a branch that is tied to a merge request, a new version
of merge request diff is created. When you visit a merge request that contains
more than one pushes, you can select and compare the versions of those merge
request diffs.
[
Read more about the merge requests versions.
](
versions.md
)
## Work In Progress merge requests
To prevent merge requests from accidentally being accepted before they're
completely ready, GitLab blocks the "Accept" button for merge requests that
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
)
## Ignore whitespace changes in Merge Request diff view
If you click the
**Hide whitespace changes**
button, you can see the diff
without whitespace changes (if there are any). This is also working when on a
specific commit page.
![
MR diff
](
img/merge_request_diff.png
)
>**Tip:**
You can append
`?w=1`
while on the diffs page of a merge request to ignore any
whitespace changes.
## Tips
Here are some tips that will help you be more efficient with merge requests in
the command line.
> **Note:**
This section might move in its own document in the future.
### Checkout merge requests locally
A merge request contains all the history from a repository, plus the additional
commits added to the branch associated with the merge request. Here's a few
tricks to checkout a merge request locally.
Please note that you can checkout a merge request locally even if the source
project is a fork (even a private fork) of the target project.
#### Checkout locally by adding a git alias
Add the following alias to your
`~/.gitconfig`
:
```
[alias]
mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' -
```
Now you can check out a particular merge request from any repository and any
remote. For example, to check out the merge request with ID 5 as shown in GitLab
from the
`upstream`
remote, do:
```
git mr upstream 5
```
This will fetch the merge request into a local
`mr-upstream-5`
branch and check
it out.
#### Checkout locally by modifying `.git/config` for a given repository
Locate the section for your GitLab remote in the
`.git/config`
file. It looks
like this:
```
[remote "origin"]
url = https://gitlab.com/gitlab-org/gitlab-ce.git
fetch = +refs/heads/*:refs/remotes/origin/*
```
You can open the file with:
```
git config -e
```
Now add the following line to the above section:
```
fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
```
In the end, it should look like this:
```
[remote "origin"]
url = https://gitlab.com/gitlab-org/gitlab-ce.git
fetch = +refs/heads/*:refs/remotes/origin/*
fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
```
Now you can fetch all the merge requests:
```
git fetch origin
...
From https://gitlab.com/gitlab-org/gitlab-ce.git
* [new ref] refs/merge-requests/1/head -> origin/merge-requests/1
* [new ref] refs/merge-requests/2/head -> origin/merge-requests/2
...
```
And to check out a particular merge request:
```
git checkout origin/merge-requests/1
```
[
protected branches
]:
protected_branches.md
doc/user/project/merge_requests/versions.md
View file @
4f5bb980
# Merge requests versions
> Will be [introduced][ce-5467] in GitLab 8.12.
>**Notes:**
-
[
Introduced
][
ce-5467
]
in GitLab 8.12.
-
Comments are disabled while viewing outdated merge versions or comparing to
versions other than base.
-
Merge request versions are based on push not on commit. So, if you pushed 5
commits in a single push, it will be a single option in the dropdown. If you
pushed 5 times, that will count for 5 options.
Every time you push to a branch that is tied to a merge request, a new version
of merge request diff is created. When you visit a merge request that contains
...
...
@@ -30,13 +36,4 @@ changes appears as a system note.
![
Merge request versions system note
](
img/versions_system_note.png
)
---
>**Notes:**
-
Comments are disabled while viewing outdated merge versions or comparing to
versions other than base.
-
Merge request versions are based on push not on commit. So, if you pushed 5
commits in a single push, it will be a single option in the dropdown. If you
pushed 5 times, that will count for 5 options.
[
ce-5467
]:
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/5467
doc/workflow/README.md
View file @
4f5bb980
...
...
@@ -27,7 +27,7 @@
-
[
Web Editor
](
../user/project/repository/web_editor.md
)
-
[
Releases
](
releases.md
)
-
[
Milestones
](
milestones.md
)
-
[
Merge Requests
](
../user/project/merge_requests.md
)
-
[
Merge Requests
](
../user/project/merge_requests
/index
.md
)
-
[
Authorization for merge requests
](
../user/project/merge_requests/authorization_for_merge_requests.md
)
-
[
Cherry-pick changes
](
../user/project/merge_requests/cherry_pick_changes.md
)
-
[
Merge when pipeline succeeds
](
../user/project/merge_requests/merge_when_pipeline_succeeds.md
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment