Tools
Git
The Git tool is artifact-scope only — it lives in the tool panel of an open artifact, not as a global page. Toggle it with ⌘⇧V (the only single-letter "V" shortcut, for version control).
When an artifact has no branch yet, the Git tab is hidden from the tab strip and the Start button takes its place in the artifact header. Click Start to create the branch + worktree; the Git tab takes over the same surface area.
Tool panel open with the Git tab selected
This page covers what's in the Git tab (the layout). The actual rules and behavior of each operation (what Push does when the branch has diverged, what Update from main rebases against, etc.) live on Branches and Worktrees since they're tightly coupled to the artifact-branch lifecycle. Each item below deep-links to the relevant section there.
What's inside
Everything related to the artifact's branch lives in a vertical scroll inside the tab:
- Branch label + worktree chip: the artifact's branch (
artifact/SPR-xxxxx) and where the worktree lives on disk. See Where worktrees live on disk. - Smart action: the most likely next git operation given the current state (commit, push, open PR, …), highlighted in blue. Saves you from picking the right action out of the full list when there's an obvious next step.
- View changes: three rows: Uncommitted, Branch commits, All changes. Each opens the Diffs and Commits view filtered to that selection.
Git actions: full inline list. Each links to the rules on Branches and Worktrees:
- Commits history: the branch's commits since it diverged from
main(or your configured base branch). Click any to open the commit viewer. - Finish: bottom of the panel, in red. Terminates running sessions, removes the worktree, and deletes the branch if clean.
No dedicated global Git page (yet)
Git operations in Spruce are scoped to an artifact's branch by design; the whole point of the artifact-branch convention is that you operate against one branch at a time, the one tied to the artifact you're working on. The artifact-scope Git tab is the canonical surface for that.
That said, there's already some basic git functionality outside an artifact: the Code page has a branch picker and a few common operations exposed at the project level. We expect that surface to grow as we build out the global side; we just haven't built it out yet. For now, if you want to manage branches outside any artifact, use the Code page where it covers your case, or drop to your terminal (git branch, gh pr list, etc.).
Related
- Branches and Worktrees — the canonical home for what each Git tab operation actually does (Start / commit / push / update from main / update from remote / merge / Finish), plus the artifact-branch lifecycle rules.
- The tool panel — the panel that hosts the Git tab.
- Diffs and Commits — what View changes and the commit viewer open.
- Keyboard Shortcuts — the full list of
⌘⇧git shortcuts (commit, push, etc.).
