Popular `graphite` terminal commands

Graphite - Checkout a branch

Alias `bco`. Switch to or checkout a branch. Similar to `git checkout <branch_name>`

Authored by: graphite

Graphite - Create a branch with an accompanying commit message

Create a new branch stacked on top of the current branch and commit staged changes. If no branch name is specified but a commit message is passed, generate a branch name from the commit message.

Authored by: graphite

Graphite - Restacks the current branch to its parent

Alias: `br`. Ensure the current branch is based on its parent, rebasing if necessary.

Authored by: graphite

Graphite - Pushes (force) the current branch to GitHub

Alias: `bs`. Idempotently force push the current branch to GitHub, creating or updating a pull request.

Authored by: graphite

Graphite - Edit the branches

Alias `dse`. Edit the order of the branches between trunk and the current branch, restacking all of their descendants.

Authored by: graphite

Graphite - Get downstack from remote

Alias `dsg`. Get branches from trunk to the specified branch from remote, prompting the user to resolve conflicts.

Authored by: graphite

Graphite - Rebase the parent branches

Alias `dsr`. From trunk to the current branch, ensure each is based on its parent, rebasing if necessary.

Authored by: graphite

Graphite - Push the parent branches to GitHub

Alias `dss`. Idempotently force push all branches from trunk to the current branch to GitHub, creating or updating distinct pull requests for each.

Authored by: graphite

Graphite - Run a command on every branch within a stack

Alias `dst`. From trunk to the current branch, run the provided command on each branch and aggregate the results.

Authored by: graphite

Graphite - Recursively track parent branches

Alias `dstr`. Track a series of untracked branches, by specifying each branch's parent, stopping when you reach a tracked branch.

Authored by: graphite

Graphite - Synchronize with remote

A quick command to pull changes from your trunk branch and subsequently restack upstack changes. Same as `gt repo sync && gt stack restack` under the hood. Also deletes any branches that have been merged.

Authored by: graphite

Graphite - Troubleshoot the Graphite CLI

This combination of commands resets Graphite repo metadata and clears the cache.

Authored by: graphite