IMHO no. Add a second parameter how to work with hidden files/directories like --cleanHiddenItems or --cleanDestinationDirIgnoredItems.
The public directory in Hugo can be seen as a dist directory in many projects and this basically is a directory that can be arbitrarily destroyed and recreated on builds. The amount of reasons why anything in it should require to be retained is much lower than the uses of a completely emptied directory.
If a project needs to commit the contents of the public directory in an extra repository so that some form of deployment can be done - that is “abuse” in my eyes of how Git works There are ways to add the directory to a branch without having the whole history sitting in a repo clone inside of a repo clone.
That’s not what cleanDestinationDir does – it cleans out files not in /static – presumably (this was implemented by Steve) to avoid copying lots of static files on every build.
I have never used that flag, and I would rather remove it than spending time discussing nitty details.
My use case : I use cleanDestinationDir to be sure that if some file where created by my code version N-1 but no more in version N they will be removed.