Viewing a stack
Graphite gives you 3 different ways to visualize your current stack.
Let's continue the example from the previous page and see what our current stack looks like!gt log
(most common)
> gt log◉ pp--06-14-part_3 (current)│ 8 seconds ago││ 95338df - part 3│◯ pp--06-14-part_2│ 8 seconds ago││ 95610c6 - part 2│◯ pp--06-14-part_1│ 27 seconds ago││ 48cd85e - part 1│◯ main│ 5 weeks ago│
gt log short
(compact view)
> gt log short◉ pp--06-14-part_3◯ pp--06-14-part_2◯ pp--06-14-part_1◯ main
gt log long
(detailed view)
> gt log long* 95338df - (7 minutes ago) part 3 - Pranathi Peri (pp--06-14-part_3)* 95610c6 - (7 minutes ago) part 2 - Pranathi Peri (pp--06-14-part_2)* 48cd85e - (8 minutes ago) part 1 - Pranathi Peri (pp--06-14-part_1)* 68722ac - [Product] Add review queue filter frontend (#133) - Nicholas Yan (origin/main, origin/HEAD, main)* c651c74 - [Product] Add review queue filter server (#132) - Nicholas Yan* eec07e3 - [Product] Add review queue filter api (#131) - Nicholas Yan
Note
gt log long
is quite different from gt log short
and gt log
-- it shows the git
source of truth, i.e. the current git
history, instead of Graphite's view of the world. If you don't understand what this means yet, that's ok! We'll get into it later on.
Fun fact:
gt log long
is just an alias for git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(auto)%d%C(reset)' --branches
, but we prefer the former.
Options for "log" and "log short"
log
and log short
both support the following options. Since log long
is just a shortcut for a git command it doesn't have any customizability in Graphite at the moment.gt log --stack
— only shows the direct descendants and ancestors of the current PR. By default the commands show all branches currently tracked with Graphite.
gt log --steps <n>
— implies --stack but only shows n levels of descendants and ancestors.
gt log --reverse
— displays the log with trunk (e.g. main) at the top instead of the bottom. Useful when you have larger stacks to keep their tips near the bottom of the output.
Other details about your branches
Once you've submitted your branches with Graphite (we'll get to this later!), gt log
also includes a link to the PR page and some details about its status.
You can also view some information for one branch at a time with gt branch info
which by default shows, in addition to the PR info, the children and parents of the branch as well as the commit descriptions for each commit in the branch. There are also --desription
and --patch
options to see the PR description (if one exists) and the changesets of each commit.
Now that you know how to visualize your stack, you can use Graphite to navigate it and submit your PRs!