I use Graphite at {{ day job }} and it's pretty good. I strongly dislike having to use their git wrapper CLI `gt` though. git does already support this out of the box.
So instead, this uses git primitives and just drops that handy comment in Github to visualize the stack.
Hey! Mostly just rebase out of habit actually, but I've been exploring --update-refs recently.
Two things come to mind that I don't love about `gt`:
- the philosophy of "every commit is a PR" falls apart sometimes. Sometimes I want to logically separate commits in a PR—but not every commit passes CI. This makes it easier to review. Or call out optional changes that can easily be dropped.
- It broke my workflow in a few ways. The one thing I notice the most is that I like to "pop" a commit into staged changes and make edits. So I can easily see a diff of what I'm editing. I expected `gt modify` to do this. So instead I git reset --soft, commit, and `gt submit`
I use graphite for stacked pr management. Any good reason to make the switch to stacklane?
I use Graphite at {{ day job }} and it's pretty good. I strongly dislike having to use their git wrapper CLI `gt` though. git does already support this out of the box.
So instead, this uses git primitives and just drops that handy comment in Github to visualize the stack.
I work on the Graphite CLI – curious what you don't like about it and what your flow with raw Git is – I assume you're mostly using `--update-refs`?
Hey! Mostly just rebase out of habit actually, but I've been exploring --update-refs recently.
Two things come to mind that I don't love about `gt`:
- the philosophy of "every commit is a PR" falls apart sometimes. Sometimes I want to logically separate commits in a PR—but not every commit passes CI. This makes it easier to review. Or call out optional changes that can easily be dropped.
- It broke my workflow in a few ways. The one thing I notice the most is that I like to "pop" a commit into staged changes and make edits. So I can easily see a diff of what I'm editing. I expected `gt modify` to do this. So instead I git reset --soft, commit, and `gt submit`
Thanks for the comment :)