Need advise

Kelsie
My bf and I were together for 4.5 years and he cheated on me with a girl at work. We broke up and about three months into our breakup we started talking. Well he had a gf at the time but I told him I'd be willing to give it another shot and he said that he'd break up with her. Then he ghosted me and I didn't hear from him for another few months then we talked and he appologized and it all happened again. Now this is our third time and he actually broke up with her and we've been together for about three months now but not much has changed. He gets mad at me when I get upset about the cheating. He gets mad when I try to talk to him about it because he doesn't want to actually deal with it. I really expected him to treat me well and spend a lot of time with me now to try and build this relationship back up but he really hasn't. I met a guy at work who I talked to about it and he made me realize that I'm not being treated right and that my bf doesn't appreciate me. I'm having trouble though. I can't decide if I should leave him or stay with him and give him another chance. I do love him with all of my heart but I'm not happy. I keep telling myself that it'll get better and that one day I'll be happy but I feel like I'll be saying that forever. Also I've never really been alone and that scares me too. I'm afraid that I won't find anything like what I feel for my bf with anyone else. What if I go out there and he actually was the one. But the truth is, that thought makes me really sad because I feel like I deserve better. Can someone give me some adivse on this?