Skip to content

Git commands

garden speaks git. The day-to-day verbs work with garden in front of them, and take the flags you already know — they are forwarded to the engine untouched.

Terminal window
garden status
garden add .
garden commit -m 'fix the thing'
garden log --oneline
garden diff
garden rebase main

Flags come straight from the engine — run garden <command> --help for the exact set.

Command Summary Aliases
garden status Show working tree status
garden log Show commit logs
garden smartlog Show a graph of your commits (smartlog/stack) sl, stack
garden diff Show changes between commits or working tree
garden show Show a commit’s metadata and diff
garden blame Show what revision and author last modified each line
garden grep Print lines matching a pattern
garden add Add file contents to the index
garden commit Record changes to the repository
garden uncommit Undo the last commit, keeping its changes
garden absorb Amend pending changes into the right commits in your stack
garden split Split a commit into several
garden fold Combine multiple commits into one squash
garden checkout Switch to a commit/bookmark, or restore files (after –) goto
garden switch Switch the working copy to another commit
garden restore Restore working-tree files (discard changes)
garden revert Create a new commit that undoes an earlier commit
garden reset Move back to a commit, keeping or discarding changes
garden pull Fetch from the remote and restack your stack onto it
garden rebase Reapply commits on top of another base
garden restack Rebase orphaned descendants onto their rewritten parents
garden resolve List or mark merge-conflicted files as (un)resolved
garden cherry-pick Apply the changes introduced by existing commits
garden stash Stash changes in a dirty working directory
garden branch List, create, or delete branches
garden prev Check out the parent of the current commit
garden next Check out the child of the current commit
garden mv Move or rename a file
garden rm Remove files from the working copy
garden bisect Binary-search history for a faulty commit

These have no equivalent in garden, by design rather than by omission.

Command Instead Why
git fetch garden pull Garden has one canonical remote; pull fetches and restacks.
git merge garden pr merge <pr> Merging is handled by the server-side merge queue.
git remote Garden repositories use one canonical server.
git worktree Garden checkouts are virtual filesystems.
git submodule Garden is a managed monorepo.