How to manage, share, branch and collaborate on Grasshopper definitions?

What is the state of the art for managing, versioning, branching, sharing and collborating on Grasshopper definitions? My intuition would be Git on the ghx (xml) file but that seems to be not elegant (yet?): Share Definitions on Github
Are there any other tools or workflows?

For Git: I understand that the ghx file would have to be split into two files for logic and presentation (incl thumbnails). Then git would only be used with the logic part, while the presentation part could be carried along optionally, and if missing, be replaced by something like Autograph