This blog post is a counterpart of my earlier post Managing stack pull requests with Graphite. Because I have quit my previous company that purchases Graphite licenses, and also because Graphite is priced ridiculously high (that I can’t afford out-of-pocket), and I don’t use its UI, for reasons, I am still more comfortable using GitHub UI, maybe because that’s more familiar to me. $20 per user/month is too much compared to $4 per user/month of my GitHub Pro, that comes with almost everything.
Anyway, that was the reason for me to explore an alternative.
It’s again, a lazy post, so I’m gonna jump straight into bullet points.
There are most frequent commands that I use to manage stacked pull requests with git-spice CLI in my workflow:
gs branch create/gs bc- To create a new Git branch and uses the current branch as the basegs stack submit/gs ss- To submit my stack, and automatically creates a PRgs repo sync/gs rs- To sync branch updates from remote, and automatically deletes merged branchesgs stack restack/gs sr- To manually trigger a restackgs log long --all/gs ll -a- To look at the dependency treegs branch rename/gs brn- To rename a branch
Everything else? Same as in Managing stack pull requests with Graphite.
What I like about git-spice besides it’s free? Link to heading
- Almost all options are configurable, and can be override via CLI flag. Because it utilizes the
.gitconfigfile, settings can also be global and per-repository. - Branch prefix actually works (with
gs branch create/gs bc)! 😂 Surprisingly, I couldn’t get it to work well enough with Graphite that I gave up. - Almost all subcommands have short alias builtin. Flying on the keyboard!
- Every time I need to do repository sync, Graphite always forces me to restack everything, … which forces me to force push everything, and I couldn’t find a way to disable this behavior. While git-spice would only warn me and I can override it.
Should you all switch? Link to heading
Depends, as always. Graphite is a team-focused product, so all my stacks would be saved on cloud in addition to local, kinda as a backup, and easy to share with my colleagues. While git-spice is local-only.