Why doesn't Google just write a script that upon git commit or git push, it re-formated to Google's main standard, and let everyone program how they want.
Because no matter how good a reformatter is, it ultimately is a dumb, automated tool with no hear, no intelligence, and no creativity behind it. The end result when applying a formatter to a project with no coding styles whatsoever looks just awful.
Another problem is that reformatting oftentimes introduces artificial changes in the CM repository. Suppose you made one small change to one line of a 1000 line long file. Suppose you also reformatted from 2 character indent to 8 character indent, while keeping with an 80 character line limit. Finding which line you changed is no small task. git blame
will say you changed every single line in the file.
Indentation style in a sense is "small stuff", and one of the first style guide rules should be the rule "Don't sweat the small stuff". This rule applies to style guide authors and to programmers. Style guide authors should not make rules that do sweat the small stuff; people will bristle against those rules and ignore them. (Most coding style guides are chock-full of rules that sweat the small stuff.)
With regard to programmers, those programmers who have to reformat code to their personal style in order to understand the code are not good programmers. A good programmer should be able to read, understand, and modify code that is consistently formatted to some reasonable style, and do without having to change indentation, braces, etc.
My rules have been simple on the occasions when I've been king of the hill and was able to write the standards for a project: Consistency across modules, with indentation style and amount chosen from a reasonable set of options.