The article is about GitHub writing a new porcelain in Go that matches GitHub's semantics better. And I think that's the key point: the main git porcelain was hacked together by the Linux kernel team to match their workflow.

Now, I have strong disagreements with GitHub's semantics. I want code reviews to be per commit, not per branch, and I want an easy way to stack up a bunch of commits, make changes each of them as I get review feedback, and then merge a whole range at the bottom of the stack as I they are accepted.

Right now I do this by living in git rebase -i, putting a little tag in each commit message to name what remote branch it should be pushed to, adding an exec command in my rebase -i that extracts that branch and does the push, and then working with wiring together all these remote PRs on all these remote branches.

So a lot of people at my company were struggling with this too, but I think we found a pretty good solution! We found a tool called ghstack (https://github.com/ezyang/ghstack) that makes it easy to manage dependent PRs. A lot of us are now using it.

Happy to show you how to use it - just book some time here: https://calendly.com/ericyu3/15min