===== Overview =====
How to revert one or more commits, dealing with any possible merge conflicts along the way.
===== SYNOPSIS =====
git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[]] ...
git revert --continue
git revert --quit
git revert --abort
===== DESCRIPTION =====
Note carefully //lack of traversal//:
...
Commits to revert. For a more complete list of ways to
spell commit names, see gitrevisions(7). Sets of commits
can also be given but no traversal is done by default, see
git-rev-list(1) and its --no-walk option.
===== The variations =====
==== Reverting a single commit ====
How:
$ git revert 2965b41
which throws you into a commit edit session based on the earlier commit message:
Revert "HTTP->HTTPS"
This reverts commit 2965b41fd84a1a76f56984ecdf6c123d1992730f.
... snip ...
The default is ''%%--%%edit'' if done from a terminal; you can override with ''%%--%%no-edit''.
==== Reverting a range of commits ====
Revert commits individually (revert ''v1.0'' (not included) up to and //including// ''v1.1''):
$ git revert v1.0..v1.1
Revert commits in one operation but do not commit so you can tweak further:
$ git revert -n v1.0..v1.1
==== Reverting one file ====
$ git diff HEAD HEAD^ -- | git apply -