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.
garden statusgarden add .garden commit -m 'fix the thing'garden log --onelinegarden diffgarden rebase mainSupported commands
Section titled “Supported commands”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 | — |
Not supported
Section titled “Not supported”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. |