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

NAME
----
git-revert - Revert an existing commit

SYNOPSIS
--------
'git-revert' [--edit | --no-edit] [-n] [-m parent-number] <commit>

DESCRIPTION
-----------
Given one existing commit, revert the change the patch introduces, and record a
new commit that records it.  This requires your working tree to be clean (no
modifications from the HEAD commit).

OPTIONS
-------
<commit>::
	Commit to revert.
	For a more complete list of ways to spell commit names, see
	"SPECIFYING REVISIONS" section in linkgit:git-rev-parse[1].

-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.

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

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


Author
------
Written by Junio C Hamano <junkio@cox.net>

Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

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