Okay, so listen Dexter. I'm going to go out on a limb here and say don't throw the baby out with the bath water. Everyone here means well when they say break up with him asap. They are concerned for you, and I will say the situation is very serious. However, I want to ask how much you care for the guy. It's not just that simple, leaving someone should be the last resort, the final out come, and should be the result of his choices not to change. You have to have this kind of strength.
First of all, the biggest issue is how you reacted to him shoving you. Think about reactions to violent treatment like a spectrum, both ends are extreme and problematic.
1. The violence is returned. In this case, pressure builds quickly and can lead to an all out fist fight. This is someone who is so strong in character that any attack on him or her must be met with an equal or greater show of force. Both parties are not controlling their anger, there is a disregard for basic human respect, and if worst comes to worst, neither cares about the physical or emotional damage that is being done. The resolution must end in submission by one (giving in, running away, K.O.) in which the "loser" has become the victim of embarrassment and the relationship between the two is destroyed, a third party must intervene, or... death.
2. The violence is absorbed. In this case, there is a clear victim and aggressor from the start, and one party has completely submitted control (for multiple possible reasons) to the other. The out of control anger that started this conflict is now unchecked, and is free to escalate to infinity or build a pattern. The victim has put conflict resolution above self-respect. The aggressor's views of this submission vary, but without the victim having respect in him or herself, the aggressor can continue viewing the victim as an object instead of a person. The resolution ends with the aggressor calming down out of his rage (often being horrified by what he [or she...] just did,) reorientating and seeking another way to blow off steam, or... again, death.
On one side, someone submits too much control, on the other, someone tries to take back control by force. I want to suggest a compromise, something middle of the spectrum. Let's be clear he had absolutely no right to do that, and you should remember and acknowledge that when it happens. If you don't stand up for yourself, no one else will. You don't need to just get rid of him or run away from the situation, you need to have the courage to give him an ultimatum.
Your number one goal is safety. If you do not feel safe, find a safe place, whatever that takes. You need to give him vocal warnings he's about to or has crossed a line and if he continues, call the cops or leave the area. This is a balance of reaction that will both keep you safe and keep him in check. It doesn't stop there, after the shit's hit the fan you can't just let him gloss this over and go on. Something serious will have to change. He needs to take active steps in assuring you this won't happen again. Dropping the alcohol, getting treatment, something substantial. You also need to tell him you will never trust him the same way again, that he's damaged this relationship and it's going to take a very long time to build it back up again.
You also need to have the strength to break ties with him and move on if he isn't willing to change. Yes, people can and do change and yes you can still have a wonderful life with him if the both of you work together. However, remember that something else is going on to cause this violence and it could be a habit that is very hard for him to break. Please don't allow yourself to become his punching bag. Have the courage and strength to break this off if it endangers your wellbeing.