I have multiple disagreements with the article.
1) I think the versioning has value outside of reproducibility and outside cases when multiple people are doing development. As a scientist who started working before git/svn were available I know there is a tendency of keeping multiple program versions like prog.py prog_new.py prog_supernew.py etc. Also there was a constant fear of breaking things and not remembering why something was changed and why. Now when my code is in git, I know I can retrace my steps (and I very rarely do, but knowing that I can is important). I am certainly annoyed by branches/cherry-picking/merges complexities which I am trying to avoid as much as I can, but overall there still a net benefit.
2) Regarding plots and scripts, that's what I teach all my students -- make the plots as separate scripts. Ideally you want the whole project from the beginning to the final plots to be executable as one big script. Having that makes it easy to fix issues early on in the pipeline as you are less tempted to sweep them under the rug or dismiss as likely not important because it is just too hard too remake everything from scratch.