How to revert one or more commits, dealing with any possible merge conflicts along the way.
git revert [--[no-]edit] [-n] [-m parent-number] [-s] [-S[<keyid>]] <commit>... git revert --continue git revert --quit git revert --abort
Note carefully lack of traversal:
<commit>... 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.
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
.
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
$ git diff HEAD HEAD^ -- <filename> | git apply -