My awful husband...

I know God doesn't like divorce and I feel like hell would be a lot worse than what I'm going through but can someone give me some advice on what to do?

My husband isn't a cheater or a liar, but he treats me like crap. He belittles me, he makes me feel stupid every single day, he tells me things such as "I dont know why you act like you can't do sh*t) when I ask him to do something simple. He says things like " I shouldn't have to do things you're capable of doing" or "why do I always have to help you". I NEVER ask my husband to do very much. Dishes maybe once a week and occasionally go to the store if I'm too sick to go (I'm 7 weeks pregnant and have a toddler). I'm so sick of how back and forth he is. He'll say these things and then turn around and buy me flowers and apologize and say he doesn't know why he said that and that he wants to get better. He treats our toddler good (sometimes) and other times he tells him to get away from him and that he doesn't want him near him because he's annoying and then will yell at him to shut up or go on somewhere and other times he plays with him and cuddles him. When my son was first born he's the one who stayed up all night with him and absolutely adored being a father, that changed when my son started getting into things and being a normal toddler. I'm so over this and I'm not sure what God would want me to do. Do I stay and just pray that everything goes back to normal? Counseling? Divorce? I'm so confused.