"Stacked branches" seem to be a terminology which derives from Github/etc's approach to Pull Requests, where one PR maps to one atomic change. The PR can either be integrated in the repo as a merge, in which case you maintain the history of the PR and all its changes through its reviews, or as a squash-merge, in which case you flatten the PR's review history into one commit.
But what if you want to maintain a series of separate but related commits? PRs don't really help you there, so people ended up inventing the concept of Stacked Branches, as discussed in the article.
Gerrit took a different approach, and requires you to add metadata to each commit's message, the Change-Id. This way Gerrit can track your commit through its review evolution (since its SHA will change with each iteration). This also allows Gerrit to trivially track a series of related changes through their overall evolution, since it can use git's normal branch data to track commit's relation to each other, and the Change-Id to track one commit as it evolves.
In any case, both solutions demonstrate that Git lacks a way to track the evolution of specific commits throughout their review history (a 2D branch in a way), so review tools like Github/etc and Gerrit had to create their own solution on top of it.
There's GerritForge: https://www.gerritforge.com/
We work with them. Good folks. They helped migrate Eclipse's home-managed Gerrit to their own space [1] on Gerrithub [2]
# Rebase commit 4 and commit 5 on top of the part-1 branch
git checkout andrew/feature-xyz/part-2
git rebase HEAD~2 --onto andrew/feature-xyz/part-1
# Rebase commit 6 on top of the (now rebased) part-2 branch
git checkout andrew/feature-xyz/part-3
git rebase HEAD~ --onto andrew/feature-xyz/part-2
What's the supposed benefit of this over simply the following? git rebase andrew/feature-xyz/part-1 andrew/feature-xyz/part-2
git rebase andrew/feature-xyz/part-2 andrew/feature-xyz/part-3now that I hardly ever have 2 layer deep stacks I just settle on my go-to git client which is magit. It just takes a couple of keystrokes to do a couple of stacked rebases.
I do wish that the stacked commits approach was universally used instead of the approach that github enforced on us. It just makes everything a bit less arcane. The whole 'branch-dance' gets really old real fast. [1]: https://github.com/arxanas/git-branchless
And because there's no individual tier, I couldn't pay for it myself if I wanted to. Honestly, I would if I was forced to switch to GitHub, because stacking on Gerrit has increased my productivity by 2x as I'm no longer blocked on code reviews. Even a tiny pay gain because I'm now a top performer is worth the $25/month to me.
(It's not clear what you're asking about)