How can I learn to control my anger?

I can sometimes be very mean and rude toward my girlfriend. I’m ashamed to say that I have even been physically and verbally abusive toward her and she usually forgives me but this time she seems serious about not coming back to me. She stayed a few nights at my house and I asked her to make breakfast since I normally make dinner and breakfast for us when she comes over. She didn’t give me attitude. She gladly got up and made me pancakes, bacon, grits and eggs the only problem was that I was already having a bad day because personal issues and the breakfast wasn’t that good. It wasn’t bad to the point it was irreversible and couldn’t be fixed. She made a mistake and forgot to add sugar to the bisquick pancake mix and you can tell when you taste it but I shouldn’t have been a jerk when telling her about it. She made me a huge plate. She gave me more food than she gave herself but when I communicated to her about it rather than suggesting that she add sugar next time, I hurt her feelings. I yelled at her as if she were a child rather than talk to her like my girlfriend. I said “If you’re gonna do something for me like make breakfast, put some effort into it. Don’t put a plate in my face and just expect me to eat it because I’m gonna be honest, that s***. Was nasty.” I did apologize later on that day but something told me it wasn’t enough. That wasn’t the first time I over did things verbally or even physically and after apologizing her vibe just wasn’t the same around me anymore. She left the next morning and she usually lets me know when she makes it home or to work once she leaves me but this time she didn’t. Hours had gone by and I still hadn’t gotten a text or call and when I decided to contact her myself, it dawned on me that she blocked me. I attempted to contact her through social media but she blocked me on there as well. I think she’s really done with me this time.
How can I learn to control my anger?
Add Opinion