]>
Commit | Line | Data |
---|---|---|
215a7ad1 JH |
1 | git-revert(1) |
2 | ============= | |
7fc9d69f JH |
3 | |
4 | NAME | |
5 | ---- | |
86c7bb47 | 6 | git-revert - Revert some existing commits |
7fc9d69f JH |
7 | |
8 | SYNOPSIS | |
9 | -------- | |
7791a1d9 | 10 | [verse] |
340f2c5e | 11 | 'git revert' [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>... |
de81ca3f | 12 | 'git revert' (--continue | --skip | --abort | --quit) |
7fc9d69f JH |
13 | |
14 | DESCRIPTION | |
15 | ----------- | |
7fc9d69f | 16 | |
86c7bb47 CC |
17 | Given one or more existing commits, revert the changes that the |
18 | related patches introduce, and record some new commits that record | |
19 | them. This requires your working tree to be clean (no modifications | |
20 | from the HEAD commit). | |
21 | ||
22 | Note: 'git revert' is used to record some new commits to reverse the | |
23 | effect of some earlier commits (often only a faulty one). If you want to | |
3a634dcf | 24 | throw away all uncommitted changes in your working directory, you |
bcf9626a | 25 | should see linkgit:git-reset[1], particularly the `--hard` option. If |
3a634dcf | 26 | you want to extract specific files as they were in another commit, you |
80f537f7 NTND |
27 | should see linkgit:git-restore[1], specifically the `--source` |
28 | option. Take care with these alternatives as | |
3a634dcf TC |
29 | both will discard uncommitted changes in your working directory. |
30 | ||
46e91b66 NTND |
31 | See "Reset, restore and revert" in linkgit:git[1] for the differences |
32 | between the three commands. | |
33 | ||
7fc9d69f JH |
34 | OPTIONS |
35 | ------- | |
86c7bb47 CC |
36 | <commit>...:: |
37 | Commits to revert. | |
41a5564e | 38 | For a more complete list of ways to spell commit names, see |
9d83e382 | 39 | linkgit:gitrevisions[7]. |
86c7bb47 | 40 | Sets of commits can also be given but no traversal is done by |
bcf9626a | 41 | default, see linkgit:git-rev-list[1] and its `--no-walk` |
86c7bb47 | 42 | option. |
7fc9d69f | 43 | |
3240240f SB |
44 | -e:: |
45 | --edit:: | |
0b444cdb | 46 | With this option, 'git revert' will let you edit the commit |
233808db | 47 | message prior to committing the revert. This is the default if |
8bf14d6e PB |
48 | you run the command from a terminal. |
49 | ||
3240240f SB |
50 | -m parent-number:: |
51 | --mainline parent-number:: | |
7791ecbc JH |
52 | Usually you cannot revert a merge because you do not know which |
53 | side of the merge should be considered the mainline. This | |
54 | option specifies the parent number (starting from 1) of | |
55 | the mainline and allows revert to reverse the change | |
56 | relative to the specified parent. | |
b80b5d67 BSSJ |
57 | + |
58 | Reverting a merge commit declares that you will never want the tree changes | |
59 | brought in by the merge. As a result, later merges will only bring in tree | |
60 | changes introduced by commits that are not ancestors of the previously | |
61 | reverted merge. This may or may not be what you want. | |
62 | + | |
d5ff3b4b | 63 | See the link:howto/revert-a-faulty-merge.html[revert-a-faulty-merge How-To] for |
b80b5d67 | 64 | more details. |
7791ecbc | 65 | |
8bf14d6e | 66 | --no-edit:: |
0b444cdb | 67 | With this option, 'git revert' will not start the commit |
8bf14d6e PB |
68 | message editor. |
69 | ||
1a2b985f DL |
70 | --cleanup=<mode>:: |
71 | This option determines how the commit message will be cleaned up before | |
72 | being passed on to the commit machinery. See linkgit:git-commit[1] for more | |
73 | details. In particular, if the '<mode>' is given a value of `scissors`, | |
74 | scissors will be appended to `MERGE_MSG` before being passed on in the case | |
75 | of a conflict. | |
76 | ||
3240240f SB |
77 | -n:: |
78 | --no-commit:: | |
86c7bb47 CC |
79 | Usually the command automatically creates some commits with |
80 | commit log messages stating which commits were | |
81 | reverted. This flag applies the changes necessary | |
82 | to revert the named commits to your working tree | |
83 | and the index, but does not make the commits. In addition, | |
8bd867ee PB |
84 | when this option is used, your index does not have to match |
85 | the HEAD commit. The revert is done against the | |
86 | beginning state of your index. | |
df8baa42 JF |
87 | + |
88 | This is useful when reverting more than one commits' | |
8bd867ee | 89 | effect to your index in a row. |
de2b82c6 | 90 | |
340f2c5e MM |
91 | -S[<keyid>]:: |
92 | --gpg-sign[=<keyid>]:: | |
2b594bf9 MM |
93 | GPG-sign commits. The `keyid` argument is optional and |
94 | defaults to the committer identity; if specified, it must be | |
95 | stuck to the option without a space. | |
3253553e | 96 | |
3240240f SB |
97 | -s:: |
98 | --signoff:: | |
cfd9c277 | 99 | Add Signed-off-by line at the end of the commit message. |
b2c150d3 | 100 | See the signoff option in linkgit:git-commit[1] for more information. |
cfd9c277 | 101 | |
67ac1e1d JN |
102 | --strategy=<strategy>:: |
103 | Use the given merge strategy. Should only be used once. | |
104 | See the MERGE STRATEGIES section in linkgit:git-merge[1] | |
105 | for details. | |
106 | ||
107 | -X<option>:: | |
108 | --strategy-option=<option>:: | |
109 | Pass the merge strategy-specific option through to the | |
110 | merge strategy. See linkgit:git-merge[1] for details. | |
111 | ||
aba4954c PW |
112 | --rerere-autoupdate:: |
113 | --no-rerere-autoupdate:: | |
114 | Allow the rerere mechanism to update the index with the | |
115 | result of auto-conflict resolution if possible. | |
116 | ||
26ae337b RR |
117 | SEQUENCER SUBCOMMANDS |
118 | --------------------- | |
119 | include::sequencer.txt[] | |
120 | ||
86c7bb47 CC |
121 | EXAMPLES |
122 | -------- | |
5d2fc913 | 123 | `git revert HEAD~3`:: |
86c7bb47 CC |
124 | |
125 | Revert the changes specified by the fourth last commit in HEAD | |
126 | and create a new commit with the reverted changes. | |
127 | ||
6cf378f0 | 128 | `git revert -n master~5..master~2`:: |
86c7bb47 CC |
129 | |
130 | Revert the changes done by commits from the fifth last commit | |
131 | in master (included) to the third last commit in master | |
132 | (included), but do not create any commit with the reverted | |
133 | changes. The revert only modifies the working tree and the | |
134 | index. | |
de2b82c6 | 135 | |
86c7bb47 CC |
136 | SEE ALSO |
137 | -------- | |
138 | linkgit:git-cherry-pick[1] | |
139 | ||
7fc9d69f JH |
140 | GIT |
141 | --- | |
9e1f0a85 | 142 | Part of the linkgit:git[1] suite |