Are templates the right way to version control content types?

I’ll admit I was slightly confused by the beginning part of this question, if you could clarify your purpose a bit that would be great.

Depending on your OS and how it interacts with Git (for authentication) it should also work for private repos but yes the intent was to publish public templates and build out a large ecosystem of open-source templates.