It is in ``git help rebase``.
On the other hand don't be too afraid about commit editing. You can
-safely edit, remove, reorder, combine and split commits that hasn't
+safely edit, remove, reorder, combine and split commits that haven't
been pushed yet. You can even push commits to your own (backup) repo,
-edit them later and force-push edited commits to replace what has
+edit them later and force-push edited commits to replace what have
already been pushed. Not a problem until commits are in a public
or shared repository.
---------------------------
``git revert`` reverts a commit or commits, that is, it creates a new
-commit or commits that reverts the effects of the given commits. It's
-the only way to undo published commits (``git commit --amend``, ``git
-rebase`` and ``git reset`` change the branch in non-fast-forwardable
-ways so they should only be used for non-pushed commits.)
+commit or commits that revert(s) the effects of the given commits.
+It's the only way to undo published commits (``git commit --amend``,
+``git rebase`` and ``git reset`` change the branch in
+non-fast-forwardable ways so they should only be used for non-pushed
+commits.)
There is a problem with reverting a merge commit. ``git revert`` can
undo the code created by the merge commit but it cannot undo the fact