Show HN: Git-knife – Edit commit messages, authors, and dates like a spreadsheet
A new Tauri-based tool called git-knife lets users edit Git commit metadata—messages, authors, and dates—in a spreadsheet-like table, with regex find-and-replace and automatic branch backups to avoid touching file contents. Commenters debate whether making history rewrites this easy encourages bad practices, but many cite legitimate use cases such as fixing misconfigured author emails, reconstructing historical timelines, or cleaning up work-in-progress branches before sharing. The project also prompts broader reflections on Git’s complexity, the niche but real need for friendlier history-editing tools, and the growing role of LLMs in rapidly building such utilities.
Overview & Core Features
- Desktop app (Tauri) that shows commits in a table and lets users edit message, author, and dates like a spreadsheet.
- Supports regex find-and-replace for batch fixes.
- Backs up branches and uses git-notes; rebuilds commits via
git commit-treewhile reusing tree objects so file contents never change. - A later release warns on signed commits and can re-sign rewritten commits with the user’s key.
Screenshots & UX Feedback
- Several commenters wanted screenshots prominently in the README to avoid cloning blindly.
- Initial screenshot hosting (Imgur) had mobile issues; later replaced with a GitHub-hosted image.
- Some thought the screenshot looked like a photo of a monitor; others pointed out it was a transparent GNOME/Zorin window, with metadata confirming it was a real screenshot.
- Requests for a TUI version and drag-and-drop UI for rebase-like operations, including reordering commits and editing which files belong to which commit.
Use Cases for Editing Metadata
- Fixing wrong author emails or identities across many commits.
- Cleaning up history before pushing, including credit corrections for contributors.
- Reconstructing historical timelines (e.g., scraping timelines, laws, archival sources) where commit dates need to reflect real-world change times.
- Splitting repositories while preserving accurate author/date metadata for subsets of files.
- Personal “cosmetic” uses, like hiding procrastination or adjusting perceived work hours.
Concerns & Limitations
- Some argue this makes dangerous history rewriting too easy; others liken it to a useful but sharp “knife” for local cleanup or archival work.
- Note that multi-author signed histories are effectively immutable; unsigned history is seen as a potential supply-chain risk. The tool is framed as best suited for single-author or WIP branches.
Relation to Existing Git Workflows & Tools
- Compared and contrasted with
git rebase -i, which some already think of as a spreadsheet-like commit editor. - Mentions alternative tools like
git-filter-repoandgit-revisefor more advanced or different rewrite workflows.
Meta: LLMs and Tooling
- Tangent discussion about LLMs’ role in producing small utilities and documentation.
- Some praise LLMs for enabling niche tools and one-off scripts; others dislike “LLM-speak” in docs and noisy AI-generated comments in code.