Clicking through a self-link in the article
https://blog.trunk.io/git-commit-messages-are-useless-c2f3c4... we read:
> This isn’t grade school, you don’t have to show your work
As you become an efficient engineer, the path you took to get to the final state of a pull request becomes far less important — and is academically interesting at best. You shouldn’t have to show your work like you did in school. Land the feature or bug and move on to the next one. The code speaks for itself (alongside some judiciously placed comments).
> Having granular annotations of all your work is unnecessary, ...
This premise underlies the particular workflow that the posted article assumes, and all the described command+option incantations are directed to it.
But there is another, very different git workflow used by a project we've all heard of, and that is the Linux kernel core code. The trunk.io workflow is unsuitable for Linux due to different requirements. Some of which being:
1. Commitment to support for indefinite future.
2. Large, complex feature PRs.
3. Human review of PRs, by maintainers fully empowered to reject.
4. A low-level programming language, in which subtle bugs are easily introduced.
Also different luxuries:
1. Willingness to put off merge of a "hot" new feature indefinitely.
So, kernel PRs are structured as a linear series of numbered patches meeting the requirement that each step along the way compile cleanly. This is primarily to ease the task of the maintainer responsible for the subsystem involved, and who will have deal with the fallout of bugs introduced by the PR. Example:
https://lore.kernel.org/rcu/
Credential: I have written code for the Linux kernel core, and it was merged, and it was buggy.