Skip to main content

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 am keeps 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.