All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2026-04-09
--last(-l) flag: instantly undo the last operation without interactive menu--dry-run(-n) flag: preview what would happen without executing- Can combine both:
git-undo --last --dry-run
- Complete UI overhaul with beautiful ASCII art banner
- Operation icons (📝 commit, 🔗 merge, 🔄 reset, etc.)
- Detailed operation info panel with box-drawing characters
- Shows restore target and effect description before confirming
- Better error messages for non-git repos and empty repos
- "Undo the undo" tip after successful operation
- Refactored undo logic into
executeUndo()helper
- Fixed crash when undoing with no parent commit (HEAD~1 error)
- Now uses reflog-based targeting instead of HEAD~1
- Fixed ESM compatibility issues (chalk, inquirer, execa)
1.0.0 - 2026-04-09
- Initial release of git-undo
- Interactive CLI to undo git operations
- Support for undoing commits, resets, checkouts, merges, rebases, cherry-picks, and amends
- Smart operation type detection from reflog
- Safety confirmations for destructive operations
- Color-coded interactive interface
- Comprehensive README with examples
- MIT License
- Contributing guidelines
- Parse git reflog to show recent operations
- Interactive selection menu with inquirer.js
- Automatic operation type detection
- Safe undo commands for each operation type
- User-friendly error messages
- Works with any git repository
- Built with Node.js
- Dependencies: commander, inquirer, chalk, execa
- ~150 lines of code
- Requires Git 2.0+ and Node.js 14+