git-revert(1)
=============

NAME
----
git-revert - Revert some existing commits

SYNOPSIS
--------
[verse]
'git revert' [--edit | --no-edit] [-n] [-m parent-number] [-s] <commit>...
'git revert' --continue
'git revert' --quit
'git revert' --abort

DESCRIPTION
-----------

Given one or more existing commits, revert the changes that the
related patches introduce, and record some new commits that record
them.  This requires your working tree to be clean (no modifications
from the HEAD commit).

Note: 'git revert' is used to record some new commits to reverse the
effect of some earlier commits (often only a faulty one).  If you want to
throw away all uncommitted changes in your working directory, you
should see linkgit:git-reset[1], particularly the '--hard' option.  If
you want to extract specific files as they were in another commit, you
should see linkgit:git-checkout[1], specifically the `git checkout
<commit> -- <filename>` syntax.  Take care with these alternatives as
both will discard uncommitted changes in your working directory.

OPTIONS
-------
<commit>...::
	Commits to revert.
	For a more complete list of ways to spell commit names, see
	linkgit:gitrevisions[7].
	Sets of commits can also be given but no traversal is done by
	default, see linkgit:git-rev-list[1] and its '--no-walk'
	option.

-e::
--edit::
	With this option, 'git revert' will let you edit the commit
	message prior to committing the revert. This is the default if
	you run the command from a terminal.

-m parent-number::
--mainline parent-number::
	Usually you cannot revert a merge because you do not know which
	side of the merge should be considered the mainline.  This
	option specifies the parent number (starting from 1) of
	the mainline and allows revert to reverse the change
	relative to the specified parent.
+
Reverting a merge commit declares that you will never want the tree changes
brought in by the merge.  As a result, later merges will only bring in tree
changes introduced by commits that are not ancestors of the previously
reverted merge.  This may or may not be what you want.
+
See the link:howto/revert-a-faulty-merge.txt[revert-a-faulty-merge How-To] for
more details.

--no-edit::
	With this option, 'git revert' will not start the commit
	message editor.

-n::
--no-commit::
	Usually the command automatically creates some commits with
	commit log messages stating which commits were
	reverted.  This flag applies the changes necessary
	to revert the named commits to your working tree
	and the index, but does not make the commits.  In addition,
	when this option is used, your index does not have to match
	the HEAD commit.  The revert is done against the
	beginning state of your index.
+
This is useful when reverting more than one commits'
effect to your index in a row.

-s::
--signoff::
	Add Signed-off-by line at the end of the commit message.

--strategy=<strategy>::
	Use the given merge strategy.  Should only be used once.
	See the MERGE STRATEGIES section in linkgit:git-merge[1]
	for details.

-X<option>::
--strategy-option=<option>::
	Pass the merge strategy-specific option through to the
	merge strategy.  See linkgit:git-merge[1] for details.

SEQUENCER SUBCOMMANDS
---------------------
include::sequencer.txt[]

EXAMPLES
--------
`git revert HEAD~3`::

	Revert the changes specified by the fourth last commit in HEAD
	and create a new commit with the reverted changes.

`git revert -n master~5..master~2`::

	Revert the changes done by commits from the fifth last commit
	in master (included) to the third last commit in master
	(included), but do not create any commit with the reverted
	changes. The revert only modifies the working tree and the
	index.

SEE ALSO
--------
linkgit:git-cherry-pick[1]

GIT
---
Part of the linkgit:git[1] suite
