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 commitdatesas effectively immutable and don’t expose committer
date / author identity for arbitrary commits. The tools thatcanrewrite that
metadata (git-filter-repo,git rebaseenv tricks,git commit-tree) have no
GUI. git-knife fills that gap.
It never reimplements git — it shells out to the systemgitCLI and rebuilds
commits withgit commit-tree, reusing each commit’s original tree sofile
contents are provably never changed.
Legend: ✅ first-class ·⚠️possible but awkward/limited · ◐ dated or terminal UI · ❌ not supported · 🚧 planned.
The polished GUIs reword and reorder well but treat commitdates— especially
the committer date — as effectively immutable, and none offer a bulk regex pass
over author identity. The tools thatcanrewrite that metadata have no GUI.
git-knife is the intersection: a clean GUI that edits every field, in bulk, safely.
The firstcargobuild downloads and compiles the Tauri crates (a few minutes).
Packaging (tauri build) needs app icons. They’re already committed undersrc-tauri/icons/; regenerate from any square PNG withpnpm tauri icon path/to/icon.png. Dev runs don’t need them.
github/workflows/release.ymlbuilds native installers formacOS, Linux, and
Windowswithtauri-actionand
attaches them to a draft GitHub Release. Cut a release by pushing a tag:
(or trigger it manually from the repo’sActionstab). No code signing is set
up yet, so macOS/Windows builds are unsigned — fine for early testers.
git-knife rewritesonly your local branch. It never contacts a remote and
never pushes for you — pushing is always your explicit step.
ClickBulk find & replaceabove the commit table to change text across many
commits at once: