git-history(1)
==============

NAME
----
git-history - EXPERIMENTAL: Rewrite history

SYNOPSIS
--------
[synopsis]
git history reword <commit> [--ref-action=(branches|head|print)]

DESCRIPTION
-----------

Rewrite history by rearranging or modifying specific commits in the
history.

THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.

This command is related to linkgit:git-rebase[1] in that both commands can be
used to rewrite history. There are a couple of major differences though:

* linkgit:git-history[1] can work in a bare repository as it does not need to
  touch either the index or the worktree.
* linkgit:git-history[1] does not execute any linkgit:githooks[5] at the
  current point in time. This may change in the future.
* linkgit:git-history[1] by default updates all branches that are descendants
  of the original commit to point to the rewritten commit.

Overall, linkgit:git-history[1] aims to provide a more opinionated way to modify
your commit history that is simpler to use compared to linkgit:git-rebase[1] in
general.

Use linkgit:git-rebase[1] if you want to reapply a range of commits onto a
different base, or interactive rebases if you want to edit a range of commits
at once.

LIMITATIONS
-----------

This command does not (yet) work with histories that contain merges. You
should use linkgit:git-rebase[1] with the `--rebase-merges` flag instead.

Furthermore, the command does not support operations that can result in merge
conflicts. This limitation is by design as history rewrites are not intended to
be stateful operations. The limitation can be lifted once (if) Git learns about
first-class conflicts.

COMMANDS
--------

The following commands are available to rewrite history in different ways:

`reword <commit>`::
	Rewrite the commit message of the specified commit. All the other
	details of this commit remain unchanged. This command will spawn an
	editor with the current message of that commit.

OPTIONS
-------

`--ref-action=(branches|head|print)`::
	Control which references will be updated by the command, if any. With
	`branches`, all local branches that point to commits which are
	descendants of the original commit will be rewritten. With `head`, only
	the current `HEAD` reference will be rewritten. With `print`, all
	updates as they would be performed with `branches` are printed in a
	format that can be consumed by linkgit:git-update-ref[1].

GIT
---
Part of the linkgit:git[1] suite
