``` Git Interactive Rebase GUI Tool | Visual Editor for git rebase -i ``` ```

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
```
```