We’re currently looking for the best way to version control SuiteCRM modules built in Studio as we keep running into the same issues each time we export and import customised modules (and custom modules).
That explains one of the problems - customizations happen in custom folder, but after a rebuild they affect the database in several ways, namely on the fields_meta_data table and _cstm tables.
So any strategy you devise will either
have automated ways of re-generating stuff done in Studio, without Studio, so you can re-run them programmatically
have ways of completely capturing the changes Studio makes and re-playing them on a different server
And you have to worry that git checkouts work in sync with these database changes. It’s a bit complicated…