git-rewrite-author

Version, currently master branch1 version
  • master branchlatestOct 12, 2023

github.com/Sija/git-rewrite-author

CLI tool for rewriting author/committer history of a git repository

2 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  git-rewrite-author:
    github: Sija/git-rewrite-author
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
~> 1.6
License
MIT
Author
Sijawusz Pur Rahnama
Target
  • git-rewrite-author from src/cli.cr

Dependencies

Runtime Dependencies

  • admiral~> 1.8github: jwaldrip/admiral.cr
  • climate~> 0.2.0github: Sija/climate.cr

Development Dependencies

  • ameba~> 1.5.0github: crystal-ameba/amebadev

README

git-rewrite-author CI Releases License

Rewrite authorship information within a history of a git repository.

Editing Past Commits Rewrites History!

No matter how exactly we change the information of past commits, there's one thing to always keep in mind: if we do this, we are effectively rewriting commit history. This is nothing to take lightly: you will create new commit objects in this process, which can become a serious problem for your collaborators - because they might have already based new work on some of the original commits. Therefore, think twice before you rewrite your commit history!

Further reading:

  • https://help.github.com/en/github/using-git/changing-author-info
  • https://www.git-tower.com/learn/git/faq/change-author-name-email

Installation

$ make build

In order to use it system-wide you need to copy the resulting binary into your preferred bin location (/usr/local/bin by default).

$ make install [prefix=/usr/local/bin]

Usage

$ git rewrite-author [--committer] [--branches] [--tags] [--old-email ...] [--new-email ...] [--old-name ...] [--new-name ...] [cwd]

Contributing

  1. Fork it (https://github.com/Sija/git-rewrite-author/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors