MySQL + GIT как?
По первому вопросу: https://phinx.org/
По второму вопросу: если это критически необходимо - дробить проект (и код соответственно) на подпроекты.
Отдельно админка, отдельно сайт, отдельно какое нибудь внутренее апи с математикой итд.
Для версионирования БД используются миграции и сиды.