How to Handle Database Changes with Multiple Developers

What is the best way to handle database changes within the SuiteCRM platform? Specifically, if Dev A adds a field or removes a field from the database within a specific branch on Git, how do I ensure:

A) That those changes stay with that branch so that Dev B can test those changes in his environment
B) That the previous state of the database can be reverted too when I switch branches.

Is there a specific way I need to add fields to the system to ensure this works well?

I don’t think there is any “perfect” workflow at the moment. SuiteCRM was not conceived with Git in mind, and parts of its architecture aren’t very easy to use with Git.

I know teams who totally script their Studio operations (meaning - they don’t use Studio) so they can work better with Git.

Or you can have a manual procedure to go and do a Quick Repair and Rebuild every time a branch is checked out…

You can use Git hooks to insert fields into the DB, and remove them. but this can get complicated.