revert_changes.md 2.04 KB
Newer Older
1
2
3
4
5
# Reverting changes

> [Introduced][ce-1990] in GitLab 8.5.

GitLab implements Git's powerful feature to [revert any commit][git-revert]
6
with introducing a **Revert** button in merge requests and commit details.
7
8
9

## Reverting a Merge Request

10
11
12
13
NOTE: **Note:**
The **Revert** button will only be available for merge requests
created since GitLab 8.5. However, you can still revert a merge request
by reverting the merge commit from the list of Commits page.
14

15
16
17
18
19
20
NOTE: **Note:**
The **Revert** button will only be shown for projects that use the
merge method "Merge Commit", which can be set under the project's
**Settings > General > Merge request**. [Fast-forward commits](fast_forward_merge.md)
can not be reverted via the MR view.

21
After the Merge Request has been merged, a **Revert** button will be available
22
to revert the changes introduced by that merge request.
23

24
![Revert Merge Request](img/cherry_pick_changes_mr.png)
25

26
27
28
After you click that button, a modal will appear where you can choose to
revert the changes directly into the selected branch or you can opt to
create a new merge request with the revert changes.
29

30
After the merge request has been reverted, the **Revert** button will not be
31
32
33
34
35
36
available anymore.

## Reverting a Commit

You can revert a Commit from the Commit details page:

37
![Revert commit](img/cherry_pick_changes_commit.png)
38

39
40
41
Similar to reverting a merge request, you can opt to revert the changes
directly into the target branch or create a new merge request to revert the
changes.
42

43
After the commit has been reverted, the **Revert** button will not be available
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
anymore.

Please note that when reverting merge commits, the mainline will always be the
first parent. If you want to use a different mainline then you need to do that
from the command line.

Here is a quick example to revert a merge commit using the second parent as the
mainline:

```bash
git revert -m 2 7a39eb0
```

[ce-1990]: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/1990 "Revert button Merge Request"
[git-revert]: https://git-scm.com/docs/git-revert "Git revert documentation"