То что вы называете "тестированием" есть "приемка".
Тестировать надо в своих ветках и в develop. CI в помощь.
Ревью делать при мержах в develop а не после приемки.
С ревью git flow фигово живет. Но никто не мешеает работать с брэнчами "как в git flow".
Develop надо будет тагать с суфиксами, чтобы потом релиз начинать с тага. Тут почти как в "git flow". И потом пусть приемка играется в своем брэнче. Собственно по git flow они и будут в release брэнче работать.
И это если все с монорепо.
Откатывать develop не есть хорошо, потому если что сломали - ну и фиг с ним - develop не гарантирует работоспособности - починили отдельным мержем.
UPD: хехе память не подвела -
https://habrahabr.ru/company/infopulse/blog/345826/