Stab your git history into shape — every commit's message, author, and dates, edited like a table.
A clean desktop GUI for editing git commit metadata directly — message, author date, committer date, author name/email.
Existing GUIs (GitKraken, Sublime Merge, Fork, lazygit) reword and reorder well but treat commit dates as effectively immutable and don't expose committer date / author identity for arbitrary commits. The tools that can rewrite that metadata ( git-filter-repo , git rebase env tricks, git commit-tree ) have no GUI. git-knife fills that gap.
It never reimplements git — it shells out to the system git CLI and rebuilds commits with git commit-tree , reusing each commit's original tree so file contents are provably never changed.
How it compares
Tool Clean GUI Reword msg Reorder / squash / drop Edit author date Edit committer date Edit author/email Bulk find & replace (regex) git-knife ✅ ✅ 🚧 planned ✅ ✅ ✅ ✅ GitKraken ✅ ✅ ✅ ⚠️ amend-only ❌ ⚠️ ❌ Sublime Merge ✅ ✅ ✅ ❌ ❌ ⚠️ amend ❌ Fork ✅ ✅ ✅ ❌ ❌ ⚠️ ❌ SmartGit ✅ ✅ ✅ ⚠️ ❌ ✅ ❌ git-cola ◐ ✅ ✅ ✅ ❌ ✅ ❌ lazygit (TUI) ◐ TUI ✅ ✅ ❌ ❌ ⚠️ ❌ git-filter-repo (CLI) ❌ ✅ via callback ✅ ✅ ✅ ✅
Legend: ✅ first-class · ⚠️ possible but awkward/limited · ◐ dated or terminal UI · ❌ not supported · 🚧 planned.
The polished GUIs reword and reorder well but treat commit dates — especially the committer date — as effectively immutable, and none offer a bulk regex pass over author identity. The tools that can rewrite that metadata have no GUI. git-knife is the intersection: a clean GUI that edits every field, in bulk, safely.
Status (MVP)
✅ Open a repo, list commits on the current branch
... continue reading