2.1 KiB
2.1 KiB
Nexus
Nexus is a pure ANSI terminal UI for viewing and editing Git commit metadata, then applying rewritten history in a guided workflow.
Repository: https://github.com/andydixon/nexus
Features
- Launches in the current Git repository by default, or with
nexus /path/to/repo - Left-hand commit browser with hash, timestamp, author, and wrapped commit summary
- Right-hand commit editor for:
- author name, email, and date/time
- committer name, email, and date/time
- full commit message
- Search commits by hash, message, author name, or email
- Track edited commits and reset the selected commit
- Apply all staged metadata changes in one action
- Optionally force push rewritten branches and tags to
origin
Keyboard
Tab: move from the commit list into the form, then through each editable fieldShift+Tab: move backward through form fieldsUp/Down,PgUp/PgDn,Home/End: navigate commits/: search commitsp: switch repository pathr: reload historyx: reset the selected commita: apply changesf: toggle force pusht: toggle tag push?: show helpqorCtrl+C: quit
Apply Workflow
When you apply changes, Nexus:
- Checks that the selected repository is clean.
- Creates a backup tag (
nexus-backup-<timestamp>). - Rewrites history with
git filter-branchacross all refs. - Removes temporary rewrite references and runs repository cleanup.
- Optionally force pushes branches and tags using
--force-with-lease.
Force push requires an explicit FORCE confirmation in the terminal.
Run
go run . # open the current directory
go run . ~/repo # open a specific repository
If the launch directory is not a Git worktree, Nexus opens a path-entry screen instead of exiting.
Build
./build.sh
./bin/nexus
Safety
History rewriting changes commit hashes and can disrupt shared branches. Coordinate with collaborators before rewriting shared history or force pushing.
Licence
This project is proprietary software. It is not released under the MIT licence.