/git-history-editor

:pencil2: Online commit editor, intuitive and easy to use

Primary LanguageHTMLApache License 2.0Apache-2.0

Git history editor

License

Git history editor is an easy-to-use online tool hosted by Github Pages, intended to help you edit your past commits.

Just type git.io/editor to use it ⚡️

Git history editor

Features

  • Bulk edit mode
  • Regular edit mode
  • Edit author name / email
  • Edit commit time / date
  • Edit commit message

How it works

Editing your git history takes 3 main steps:

Step 1: Import

In order to import information about past commits in any project, Git History Editor asks you the result of your git log.

Because this log is made to be read by a program, it is formatted using the --pretty=format option of git log, then encoded to base64 to avoid problems with carriage returns or spaces.

Only the last 100 commits are imported, because a really huge commit history could drastically slow down your browser, or even make it crash.

The import command to run is the following:

git log -100 --pretty=format:"%H*#%an*#%ae*#%at*#%s" | base64 | tr -d "\n"

Step 2: Edit

Git History Editor has a nice UI designed to let you edit what you want in each one of your past commits, or create a rule that will apply to multiple commits. Just try it.

Step 3: Export

When the edit step is finished, Git History Editor provides a script that you can run in order to apply the changes immediatly.

This script uses the git filter-branch command, which is the less painful way to rewrite a git branch history with precision.

Libraries used