My first instinct will be to say NO but with kids, I dont think I will easily walk out just because of a light push. If it's something more serious like punches, then I will not hesitate to walk out.
In your situation, it's been like this for the past 7 yrs and he did not change for the better despite his promises. And it looks to me it's not a light push but something severe enough to bruise you. If he's really keen to change, request him to go for anger management programmes or seek professional counselling for his problem. But this is only good if you're willing to give him a chance. If these still doesnt help, then I think you seriously need to rethink your options. Also, if you have got no more feelings for this man (except of fear!), then no point hanging on. I'm sure you do not want your son to grow up watching his dad hit his mummy and think that's ok?
That said, if both of you are willing to work on this marriage, you have to learn to control your temper too. If you know by throwing things at him will provoke him, then dont do it. He in turn will also have to learn to control his temper by keeping his hands by his sides. I think it really takes 2 sides to make things work.