https://github.com/firsttimeinforever/git-fast-reword
Fast alternative for changing commit messages
https://github.com/firsttimeinforever/git-fast-reword
git rebase reword
Last synced: about 1 year ago
JSON representation
Fast alternative for changing commit messages
- Host: GitHub
- URL: https://github.com/firsttimeinforever/git-fast-reword
- Owner: FirstTimeInForever
- License: mit
- Created: 2020-05-14T17:22:13.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-05-14T20:43:03.000Z (about 6 years ago)
- Last Synced: 2025-02-10T03:15:19.764Z (over 1 year ago)
- Topics: git, rebase, reword
- Language: C++
- Homepage:
- Size: 17.6 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# git-fast-reword
Fast alternative for changing commit messages.
## Motivation
Given a big git repository and some commit `C`, let's say something like `HEAD~1000`.
You want to change commit message of `C`. So, what you can do is:
```
git rebase -i HEAD~1000
```
The problem is, that `git rebase` is extremely slow if you want apply it to 1000 commits.
So, instead you can use
```
git-fast-reword HEAD~1000 "You new message"
```
to solve the problem.
## Build
You will need `C` and `C++` compilers able to compile `C99` and `C++17` code.
You will also need `cmake` and `libssl` (on ubuntu: `apt install cmake libssl-dev`).
```
git clone https://github.com/FirstTimeInForever/git-fast-reword.git --recursive
cd git-fast-reword
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ../ && make all -j8
```
## How it works
This tool will find target commit specified by ``, find all commits in range `[; HEAD]`, reword the target commit and recreate the chain of child commits from the range.
After that it sets current `HEAD` to recreated commit.
## Usage
```
git-rebase-reword [--verbose]
```