Alternatively Homeassistant also offers an integration for Node Red, which feels a bit odd to work with at first but I learned to love it more and more. I never really bothered to learn Homeassistants YAML automation syntax.
(As I recall, it's JSON with lots of long numeric IDs for each node, semantic data also mixed with presentational - coordinates for how you laid it out in the visual editor, etc.)
I know what git is, so I can already `git commit -a -m 'Updated nodes'` if that's what I wanted, but it isn't, I want logical diffs that show me what I did and why; not spurious ID changes because I accidentally moved a node visually a millimetre or two.
It's not git-friendly though, no easy way of versioning stuff really.