GIT-REVERT(1)
NAME
git-revert - Revert an existing commit
SYNOPSIS
git revert [--edit | --no-edit] [-n] [-m parent-number] [-s] <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).
Note: git revert is used to record a new commit to reverse the effect
of an earlier commit (often a faulty one). If you want to throw away
all uncommitted changes in your working directory, you should see gitreset(1), particularly the --hard option. If you want to extract
specific files as they were in another commit, you should see gitcheckout(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>
- Commit to revert. For a more complete list of ways to spell commit names, see "SPECIFYING REVISIONS" section in 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. - 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 revert-a-faulty-merge How-To[1] 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 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 and the index, but does not make the commit. 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.
AUTHOR
Written by Junio C Hamano <gitster@pobox.com[2]>
DOCUMENTATION
Documentation by Junio C Hamano and the git-list
<git@vger.kernel.org[3]>.
GIT
Part of the git(1) suite
NOTES
- 1. revert-a-faulty-merge How-To
- file:///usr/share/doc/git-doc/howto/revert-a-faulty-merge.txt
- 2. gitster@pobox.com
mailto:gitster@pobox.com - 3. git@vger.kernel.org
mailto:git@vger.kernel.org