Day to day
The ordinary work, in the order you meet it.
Staging and committing
Stage per file, per hunk, or per line. Line staging is the one worth knowing about: when a file has a fix and a half-finished idea in it, you can commit the fix alone without stashing anything.
Diffs are word-level, unified or side by side, with syntax highlighting.
- Amend rewrites the last commit, including its message.
- Stash includes untracked files, which is the default most people actually want.
- Absorb takes your staged changes and folds each one into whichever earlier commit last touched those lines. It is the fix for a branch that has accumulated six "fix review comment" commits.
Signed commits
If commit.gpgsign is set, Katari signs — through gpg or your ssh key,
whichever your config says.
A signature that cannot be made is an error, not a warning. Katari will not quietly produce an unsigned commit in a repository configured to sign them, because an unsigned commit in a signed history is something somebody has to go back and fix.
History
- A commit graph that stays usable on repositories with real history.
- Rewrite a branch — reorder, drop, reword, fixup, squash — as one operation rather than an interactive rebase you drive by hand.
- Blame, file history, and comparing any two revisions.
- Cherry-pick, revert, merge, and reset (soft, mixed or hard).
Undo
Undo reads git's own reflog rather than a list Katari kept. Anything that moved a ref can be undone, including things done in a terminal while the window was open — and a hard undo is told apart from a safe one before it runs.
Patches
For sending work to somebody who cannot reach your remote.
- Save as a patch… on any commit writes a numbered mailbox patch file —
the full envelope, so
git amkeeps the author, the date and the message. A bare diff loses all three. - Apply patch files… in the command palette applies a series, with three-way merge so a patch from last week still lands. A conflict opens the conflict screen.
Notes
git notes are shown on a commit and can be edited there. Katari reads
every namespace your repository uses, not only the default — a note your
CI or review tooling left in refs/notes/review appears, labelled with where
it came from.
Writing one goes to your repository's own configured namespace.
The window
- Repository tabs, so several repositories are open at once.
- Command palette —
Ctrl/Cmd+K— for anything without hunting a menu. - Shortcut sheet —
?. - Light and dark, following your desktop by default.
- Every action reachable from the keyboard.
- Changes you make in a terminal appear on their own. Katari watches the repository, so you do not refresh after committing elsewhere.
Settings
Licence, Accounts, Identity and Appearance.
Identity can be set globally or for one repository — useful when work and personal commits need different addresses, and the usual cause of commits attributed to the wrong person.