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 Start tracking files, or mark conflicts resolved
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 a PR, 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 fetch Fetch new commits from the remote, leaving your work alone
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 hide Hide commits from your smartlog
garden unhide Bring hidden commits back into view
garden resolve List or mark merge-conflicted files as (un)resolved
garden cherry-pick Apply the changes introduced by existing commits
garden format-patch Write a commit out as a patch
garden apply Apply a patch to the working copy
garden patch Create or apply patches
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 merge garden pr merge <pr> Merging is handled by the server-side merge queue.
git remote Garden repositories use one canonical server.
git submodule Garden is a managed monorepo.