1git-revert(1) 2============= 3 4NAME 5---- 6git-revert - Revert an existing commit 7 8SYNOPSIS 9-------- 10'git revert' [--edit | --no-edit] [-n] [-m parent-number] [-s] <commit> 11 12DESCRIPTION 13----------- 14Given one existing commit, revert the change the patch introduces, and record a 15new commit that records it. This requires your working tree to be clean (no 16modifications from the HEAD commit). 17 18Note: 'git revert' is used to record a new commit to reverse the 19effect of an earlier commit (often a faulty one). If you want to 20throw away all uncommitted changes in your working directory, you 21should see linkgit:git-reset[1], particularly the '--hard' option. If 22you want to extract specific files as they were in another commit, you 23should see linkgit:git-checkout[1], specifically the 'git checkout 24<commit> -- <filename>' syntax. Take care with these alternatives as 25both will discard uncommitted changes in your working directory. 26 27OPTIONS 28------- 29<commit>:: 30 Commit to revert. 31 For a more complete list of ways to spell commit names, see 32 "SPECIFYING REVISIONS" section in linkgit:git-rev-parse[1]. 33 34-e:: 35--edit:: 36 With this option, 'git-revert' will let you edit the commit 37 message prior to committing the revert. This is the default if 38 you run the command from a terminal. 39 40-m parent-number:: 41--mainline parent-number:: 42 Usually you cannot revert a merge because you do not know which 43 side of the merge should be considered the mainline. This 44 option specifies the parent number (starting from 1) of 45 the mainline and allows revert to reverse the change 46 relative to the specified parent. 47+ 48Reverting a merge commit declares that you will never want the tree changes 49brought in by the merge. As a result, later merges will only bring in tree 50changes introduced by commits that are not ancestors of the previously 51reverted merge. This may or may not be what you want. 52+ 53See the link:howto/revert-a-faulty-merge.txt[revert-a-faulty-merge How-To] for 54more details. 55 56--no-edit:: 57 With this option, 'git-revert' will not start the commit 58 message editor. 59 60-n:: 61--no-commit:: 62 Usually the command automatically creates a commit with 63 a commit log message stating which commit was 64 reverted. This flag applies the change necessary 65 to revert the named commit to your working tree 66 and the index, but does not make the commit. In addition, 67 when this option is used, your index does not have to match 68 the HEAD commit. The revert is done against the 69 beginning state of your index. 70+ 71This is useful when reverting more than one commits' 72effect to your index in a row. 73 74-s:: 75--signoff:: 76 Add Signed-off-by line at the end of the commit message. 77 78 79Author 80------ 81Written by Junio C Hamano <gitster@pobox.com> 82 83Documentation 84-------------- 85Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>. 86 87GIT 88--- 89Part of the linkgit:git[1] suite