# Install git-interactive-rebase-tool with Homebrew, apk, dnf, MacPorts, Nix, scoop

Native sequence editor for Git interactive rebase. Version 2.4.1 via Homebrew; verified 2026-08-02. Also installable with nix: nix profile install nixpkgs#git-interactive-rebase-tool.

## Install

```sh
sudo av install brew:git-interactive-rebase-tool
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install git-interactive-rebase-tool
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install git-interactive-rebase-tool
```

  Evidence: MacPorts ports tree: devel/git-interactive-rebase-tool/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add git-interactive-rebase-tool
```

  Evidence: Alpine Linux edge package indexes: git-interactive-rebase-tool from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install git-interactive-rebase-tool
```

  Evidence: Fedora Rawhide package metadata: git-interactive-rebase-tool from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#git-interactive-rebase-tool
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gi/git-interactive-rebase-tool/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- Scoop (92%):

```sh
scoop install main/git-interactive-rebase-tool
```

  Evidence: Scoop official bucket manifest trees: bucket/git-interactive-rebase-tool.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:git-interactive-rebase-tool
- **Package manager:** Homebrew
- **Version:** 2.4.1
- **Source summary:** Native sequence editor for Git interactive rebase
- **Homepage:** <https://gitrebasetool.mitmaro.ca/>
- **Repository:** <https://github.com/MitMaro/git-interactive-rebase-tool>
- **Last updated:** 2026-08-02T20:52:06+09:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- interactive-rebase-tool (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.4.1
## Project history and usage

Git Interactive Rebase Tool is a Rust terminal sequence editor for `git rebase -i`. It replaces the plain text todo-file edit step with a keyboard-driven interface for changing actions, reordering commits, inspecting diffs, and writing the rebase plan back to Git.

### Project history

Maro Miguel published the repository in December 2016 and released version 0.1.0 the next day. The changelog records a rapid early rewrite in version 0.2.0, followed by scrolling, man-page, color, exec-action, and configuration work through the 0.x line.

The project reached 1.0.0 in April 2019 with Unicode support and overflow handling. Version 2.0.0 in January 2021 was a larger terminal rewrite, replacing Curses with Crossterm while adding commit diff views, richer key handling, external-editor error handling, and improved macOS color support.

### Adoption history

The README and install guide show the tool moving beyond a Rust crate into ordinary package-manager channels: release binaries and packages for Debian-style and RPM systems, Homebrew on macOS, Cargo, and community packages for Alpine, Arch, Fedora, FreeBSD, Guix, Chocolatey, and Scoop. That packaging spread made it usable as a daily Git sequence editor without asking users to build Rust code by hand.

### How it is used

Users configure Git with `git config --global sequence.editor interactive-rebase-tool`, then run ordinary interactive rebases. Inside the tool they set actions such as pick, squash, fixup, edit, reword, and drop; reorder lines; select multiple commits; inspect commit summaries and diffs; toggle break actions; and write or abort the todo file.

The tool also supports direct invocation on a rebase todo file and temporary overrides through `GIT_SEQUENCE_EDITOR`, which makes it fit both persistent personal Git configuration and one-off rebase sessions.

### Why package nerds care

For package nerds, it is a good example of a single-purpose Rust CLI gaining cross-platform distribution by respecting Git's existing sequence-editor hook. It avoids replacing Git's rebase machinery; it improves the one user-facing edit surface that Git deliberately delegates.

### Timeline

- 2016: Public repository created and 0.1.0 released.
- 2019: 1.0.0 added Unicode and overflow support.
- 2021: 2.0.0 replaced Curses with Crossterm and expanded diff and keybinding support.
- 2024: 2.4.0 added NO_COLOR support and post-modified-line exec command support.

### Related projects

- The tool relates directly to Git's built-in interactive rebase and `GIT_SEQUENCE_EDITOR` interface. It also overlaps with editor-specific Git workflows, but keeps the core interaction inside a portable terminal UI.

### Sources

- <https://api.github.com/repos/MitMaro/git-interactive-rebase-tool>
- <https://github.com/MitMaro/git-interactive-rebase-tool#readme>
- <https://github.com/MitMaro/git-interactive-rebase-tool/blob/master/CHANGELOG.md>
- <https://github.com/MitMaro/git-interactive-rebase-tool/blob/master/readme/install.md>
- <https://gitrebasetool.mitmaro.ca/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - git-interactive-rebase-tool: normalized package name match | nixpkgs package indexes: pkgs/by-name/gi/git-interactive-rebase-tool/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - git-interactive-rebase-tool - 2.4.1-r2: normalized package name match | Alpine Linux edge package indexes: git-interactive-rebase-tool from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Terminal based sequence editor for interactive rebase | https://gitrebasetool.mitmaro.ca
- apk - git-interactive-rebase-tool-doc - 2.4.1-r2: normalized package name match | Alpine Linux edge package indexes: git-interactive-rebase-tool-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Terminal based sequence editor for interactive rebase (documentation) | https://gitrebasetool.mitmaro.ca
- dnf - git-interactive-rebase-tool - 2.4.1-16.fc45: normalized package name match | Fedora Rawhide package metadata: git-interactive-rebase-tool from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Full-featured terminal-based sequence editor for Git interactive rebase | https://crates.io/crates/git-interactive-rebase-tool
- MacPorts - git-interactive-rebase-tool: normalized package name match | MacPorts ports tree: devel/git-interactive-rebase-tool/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/git-interactive-rebase-tool: normalized package name match | Scoop official bucket manifest trees: bucket/git-interactive-rebase-tool.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/git-interactive-rebase-tool.yml](https://github.com/mxcl/pkgdb/blob/main/combined/git-interactive-rebase-tool.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
