Need some advice...

I'll try to make this as short as possible, not every detail/issue within the relationship will be said as there probably isn't enough space or time. My boyfriend and I have been together (broke up once in between) for two years. He gets physical with me, as in hits me. However, sometimes I start it myself.  Last year I was pregnant. As soon as I became pregnant one month after we found out, is when he started laying his hands on me. (F*cked up I know) some of you will judge me for this and I regret it deeply everyday, but I decided to have an abortion because of the abuse. Please spare the negative comments. I really do feel terrible. It felt like the best thing to do for the child. I'm sharing this because he often uses it against me even though he came with me to the abortion and said he would always stick with me. He calls me a baby killer. Told multiple people about it as well. Me and him have everything and I mean EVERYTHING in common and we seem perfect for each other most of the time. But the physical fights are brutal. When it's good it's great, and when it's bad with us...it's f*cking awful. Has anyone else here has physical fights with their boyfriend? Is there fixing this ? I left him a few days ago and I keep thinking about going back I'm so stuck. He has as many good qualities as he does bad ones. 
Has anyone else been through physical fights with boyfriends and got through it ? Did you just leave ? I seriously don't know what to do ladies. My heart says one thing and my mind says another...I wish I could let this man go and I can't. I know this relationship is severely unhealthy but I love him to death.