Git Interactive Rebase GUI Tool
A lightweight visual Git interactive rebase GUI built with PySide6. Reorder, squash, split, rephrase, drop, and refine commit history while using native Git commands underneath. Designed for cleaning up commit history before raising a PR.
âĻ Git Rebase Features
Visual Interactive Rebase
Drag and drop commits to reorder history. Squash, rephrase, drop, and manage interactive rebase actions with a clean visual workflow.
Search, Filter, and Inspect
Search commits by SHA or message, inspect commit details, and navigate history quickly using keyboard shortcuts.
Dark and Light Themes
Adaptive dark and light themes with persistent settings for a smoother Git workflow.
Split, Squash, and Cleanup
Split commits, squash related changes, rephrase messages, and organize history before creating pull requests.
Refine Changes in File
Selectively keep, drop, edit, or move specific changes/hunks to separate commits â ideal for cleaning up mixed commits before a PR.
Built on Native Git
Uses the standard Git CLI underneath for all operations. Lightweight, transparent, and automatically benefits from future Git improvements.
ðĪ Why This Tool?
Focused Rebase Workflow
Unlike full Git clients, this tool focuses specifically on interactive rebase workflows: reorder, squash, split, rephrase, refine changes, and clean up history before PR creation.
Uses Native Git
All operations are executed using the standard Git CLI itself. No custom Git implementation or hidden logic.
Lightweight Setup
No bulky installation or large Git client required. Simple Python-based setup that works across platforms.
ð Quick Start
# Install via pip
pip install git+https://github.com/shyjun/git-interactive-rebase-gui-tool.git
# Run the app
git_interactive_rebase
```
Or clone the repository for the latest development version:
# Clone and run
git clone https://github.com/shyjun/git-interactive-rebase-gui-tool.git
cd git-interactive-rebase-gui-tool
pip install PySide6
python3 git_interactive_rebase.py
```