https://github.com/erdavila/git-interactive-rebase-editor
A visual helper for Git interactive rebase
https://github.com/erdavila/git-interactive-rebase-editor
cli git git-rebase interactive rebase tui
Last synced: 5 months ago
JSON representation
A visual helper for Git interactive rebase
- Host: GitHub
- URL: https://github.com/erdavila/git-interactive-rebase-editor
- Owner: erdavila
- Created: 2017-05-31T03:58:26.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2024-03-09T13:56:18.000Z (over 2 years ago)
- Last Synced: 2024-03-09T14:56:24.266Z (over 2 years ago)
- Topics: cli, git, git-rebase, interactive, rebase, tui
- Language: Rust
- Homepage:
- Size: 452 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# git-interactive-rebase-editor
A visual helper for Git interactive rebase.

## Installing and building
1. Clone this repository
2. Build it with `cargo build --release`
3. Copy `./target/release/git-interactive-rebase-editor` to your desired location.
Alternativelly, use `cargo` to build and install at once:
```sh
cargo install --path
```
or:
```sh
cargo install --git https://github.com/erdavila/git-interactive-rebase-editor.git
```
See the options for [`cargo install`](https://doc.rust-lang.org/cargo/commands/cargo-install.html).
## Using it
### Single use
Use the `sequence.editor` configuration when rebasing:
```sh
git -c sequence.editor= rebase -i ...
```
### With an alias
Define an alias:
```sh
git config --global alias.rebase-i "-c sequence.editor= rebase -i"
```
then rebase with:
```sh
git rebase-i ...
```
### Permanent use
Set the editor:
```sh
git config --global sequence.editor=
```
then rebase with:
```sh
git rebase -i ...
```
### Platform Specifics
#### Git Bash
Start the `` without `/` and with drive name.
E.g.: use `C:/...` instead of `/c/...`.
#### Cygwin
Cygwin requires the `git-interactive-rebase-editor.sh` adapter script to ensure that the editor receives a path in Windows format.
1. copy [`git-interactive-rebase-editor.sh`](./git-interactive-rebase-editor.sh) to the same place where the binary is located;
2. in the commands above, for `` use the path to `git-interactive-rebase-editor.sh` instead of the path to the binary.