we use gitlab, it makes doing pre code review easy. when your code is ready, send a merge request, someone else has to review it to merge it.
most of the time it doesn't catch anything, but every now and then it does, so that's cool.
it also means we can revert features easily most of the time, should the need arise.
all in all, gitlab is really good and you should check it out