| git-revert(1) | 
 | ============= | 
 |  | 
 | NAME | 
 | ---- | 
 | git-revert - Revert some existing commits | 
 |  | 
 | SYNOPSIS | 
 | -------- | 
 | 'git revert' [--edit | --no-edit] [-n] [-m parent-number] [-s] <commit>... | 
 |  | 
 | 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[1]. | 
 | 	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. | 
 |  | 
 | 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. | 
 |  | 
 | Author | 
 | ------ | 
 | Written by Junio C Hamano <gitster@pobox.com> | 
 |  | 
 | Documentation | 
 | -------------- | 
 | Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. | 
 |  | 
 | SEE ALSO | 
 | -------- | 
 | linkgit:git-cherry-pick[1] | 
 |  | 
 | GIT | 
 | --- | 
 | Part of the linkgit:git[1] suite |