Use git to keep brew etc versioned.

Handles defaults and merging changes with new versions.

Closes #15751.
Closes #17713.