git_revert

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 -
  • git_revert.txt
  • Last modified: 2019/03/13 12:49
  • by rpjday