Good article. I keep on providing my juniors similar feedback about the use of Git as tool beyond the simple push to repo and for using it to improve the local coding workflow as well . I rely on git so much to be able to quickly rollback to last working code + track all changes made that I even started using it for the little POC\tryout projects which are not part of the work repo (Git doesnt need a server!!! is what many juniors don't know ). Combine it with the power of "git stash" . Additionally for the main work, I find "git rebase -i main" to be useful to quash\merge all the stray commits\ pointless comments added done during incremental changes to the banch.