Fretwire 0.1.0
The first beta of Fretwire — a native macOS Git client built around the commit graph, with staging, diffs, and the everyday branch and remote operations attached to it. Every read and write goes through Apple's git, so what the app does is what the terminal would have done.
In this build
- Commit graph — swim-lane layout with ref badges, per-identity author colours, stashes shown where they were taken, and a marked boundary where the checked-out branch diverges from the default one.
- Staging — stage and unstage by file or by hunk, amend, commit; the working tree sits as a row above HEAD whenever it is dirty.
- Diffs — side-by-side or unified, syntax-highlighted, with image previews, binary placeholders, and per-file history.
- Branches, remotes, tags, stashes — checkout, create, rename, delete, merge, rebase, cherry-pick (one commit or a selection), revert, reset, fetch/pull/push per remote, and publishing to GitHub or GitLab. Anything that moves a branch confirms first; force push is only ever
--force-with-lease, scoped to one branch. - Rewriting history — reword a message, squash a commit into its parent, or drop one, from the commit's own menu. Each says plainly that ids change, and refuses rather than half-applying when the tree is dirty.
- Conflicts — a stopped merge, rebase, cherry-pick, revert or
git amis detected and shown with Abort and Continue, and conflicted files keep their diff. - Several repositories at once — an icon rail on the left; each tab keeps its own history, selection and load state.
- Live refresh — commits made in the terminal appear in the graph without a manual reload and without blanking the view.
- Adjustable text size — the whole type ramp scales from ⌘, ▸ Appearance, or with ⌘+ / ⌘− / ⌘0.
Requirements
- macOS 14 or later.
- Apple's command line tools, for
/usr/bin/git. If they are missing, the app says so and names the fix.
Not here yet
- An interactive rebase editor. One commit at a time can be reworded, squashed or dropped; reordering a range still belongs in the terminal.
- A command palette.
During the beta
Free, for any use. Licensing starts at 1.0: free for personal projects, paid per seat for commercial use — see the EULA.
The app updates itself — each update is checked against a signature before it is applied. Settings ▸ Updates decides how much of that happens on its own. Bug reports and requests go to the issue tracker.