Differential equations – Reverse DSolve function

I'm trying to solve a differential equation.

DSolve[{D[r[a], a]== 3 r[a]/ a (w - (g * (1 + w) * (1 + r[a])) / (1 + g * r[a])), r[1] == r0}, r, a]

But the solution is a function of InverseFunction and I do not know how to solve this differential equation, anyone? Please.