Creating a stack
Graphite's CLI makes it easy to stack dependent branches on top of each other.

Creating your first branch from scratch

Note that unlike a standard git workflow - where you create a new branch before working on your feature - with gt we recommend the following:
  1. 1.
    Start by building your feature on an existing branch
  2. 2.
    Stage your changes (gt add -A)
  3. 3.
    Create a new branch with those changes (gt branch create)
This follows the traditional "stacked changes" workflow of treating each branch as an atomic changeset that contains (at least to start with) a single commit. If you prefer to start with an empty branch, we do support that as well — see the next section.
The below snippet shows two equivalent ways to create a branch with a single commit on it using gt branch create.
gt branch checkout main
# * build feature part 1 *
# create a new branch off of main with your changes and add a commit
gt add -A # add all unstaged change (same syntax as git add)
gt branch create -m "part 1" # -> creates a commit with message "part 1" on a branch named "05-04-part_1" (inferred from the date and your commit message)
# alternatively, you can combine the last 2 commands into a single line:
gt branch create -a -m "part 1"
Because you didn't pass in a branch name in the above example, gt branch create auto-generated a branch name from your commit message. You can configure a prefix for gt branch create to add to all of your auto-generated branch names using gt user branch-prefix — see the configuration page for more details.

Stack more branches on top

Once you have created a branch with your first set of changes, you can continue to build your stack by issuing more gt branch create commands as you work!
# * build feature part 2 *
# create a new branch on your stack
gt branch create -a -m "part 2"
# * build feature part 3 *
# create another new branch on your stack
gt branch create -a -m "part 3"
Now that you've created a stack, you can use Graphite's CLI to easily visualize it in your terminal.

Creating a stack from an existing branch

If you already have a branch that you would like to split up and turn into a stack you can use the gt branch split command. Learn more about gt branch split.
Export as PDF
Copy link
On this page
Creating your first branch from scratch
Stack more branches on top
Creating a stack from an existing branch