Guide
A Git client for Mac, inside your editor
A Git client is a second application to keep open beside the editor, a second view of the same files, and a round trip every time a commit needs one more fix. Here is what the separate clients do well, and what it is like when the repository window is part of the editor.
The usual choices
The command line does everything and shows you very little. GitHub Desktop and Sourcetree are free; Fork and Tower are polished paid clients with the deepest feature sets — interactive rebase, a history graph, every operation Git has. What all of them share is that the code is somewhere else: you read a diff in one window and fix the line in another.
Git ▸ Repository… in Volt
One window per repository (⇧⌘0), with four panes.
Changes. Tick a file to stage it, put the caret in one change and stage that hunk, or select a few lines and stage only those — or discard a hunk or lines, which throws away exactly that and nothing else. Write the message, amend the last commit if that is what it is, and commit with ⌘↩.
History. The whole repository or a single file, a commit at a time, with the files each commit touched and the difference for whichever you pick. Search it by message, open any version, or put a file back exactly as a commit left it.
Branches. Local ones and those only on the server, how far each is ahead or behind, and switch, start or delete one.
Stash. Put the working copy aside — new files included — read what is in it before deciding, and give it back, keeping it in the list or not.
The window reads the repository again when it comes forward, so a commit made in a terminal is never shown stale. It also clones a repository from a server, draws the branches as a graph beside the commits, shows the history of just the lines you select, and lists tags and commit notes.
In the file you are editing
- Change bars in the gutter and down the scroller: added, modified, and a wedge where lines went.
- Stage This Change from the editor, and Revert Change to put one back as an ordinary, undoable edit.
- Blame in the gutter, or for just the line you are on.
- Compare with Revision… — then and now, rows aligned, with Take Left to bring a difference back.
- Git ▸ History… for this file, a commit at a time.
- Conflicts walked one by one: keep what is here, what arrived, or both.
- Fetch, Pull and Push, with what is waiting said in one line.
- The file list marks what has changed, with a letter beside each name.
What it deliberately leaves out
Merge, rebase and reverting a commit are decisions about the history, and they belong in a tool that shows all of it. A pull that would have to merge is refused in Git's own words rather than made for you. If you rebase every day, keep your client for that and let the editor do the rest.
Questions
Can I stage part of a file?
Yes — a whole hunk, with the caret in it, or just the lines you select, from the repository window or from the editor itself. Unstage takes them back out.
Does it show the history of a single file?
Yes, a commit at a time with what each one changed in it, and any version can be opened, compared or restored.
Can it resolve merge conflicts?
Yes. Git ▸ Conflicts walks through them in the editor and keeps what is here, what arrived, or both.
Does it merge or rebase?
No, on purpose. A pull is fast-forward only, and one that would have to merge is refused with Git's own explanation.
Do I need Git installed?
Yes. Git has to be on the Mac — from Apple's Command Line Developer Tools or from Homebrew — and Volt says plainly when it is not.
Does it work outside a repository?
The change bars do: a file Git knows nothing about is marked against its saved self, so you still see what you changed since opening it.
Open your repository
Volt 1.0 is a free download — no account, no sign-up. Try it on the file you have in mind.
macOS 13 or later, Apple silicon or Intel. About 26 MB, signed and notarised. Everything it does · what changed in this build.
Related
- Everything Volt does — the complete list, searchable.
- Find and replace across files — project-wide, safely.
- Volt compared with other editors — including where it is the wrong choice.
- An FTP and SFTP client that edits — for the server end of the job.