As much as you love her, I think you are so angry with her for moving so suddenly that there is a part of you that wants revenge. You’ve been hurt and you want to hurt back. On top of that, I suspect you are feeling like you’ve lost control of your life and you are trying to get it back by trying to control her. Those efforts to control her, of course, are the worst thing you can do if you really want her back.
The first thing to do is to be honest with yourself about how you feel. Perhaps if you bring those feelings out into the open (at least to yourself), you won’t have to act them out on her. Next, you need to look clearly at what you shared with me. This relationship was going downhill. Ask yourself why your girlfriend felt that the only way to change things was to move. What was going on in your relationship that you couldn’t regain the way you were in that first couple of years?
Once you have some ideas about what happened and perhaps what you can do about it, you need to have a frank but tender conversation with your girlfriend about how hurt and afraid you are and how much you want to retrieve what you once had. If she feels the same way, perhaps you can get back on the same team to struggle with the problem instead of being on different teams, struggling with each other.
On the other hand, it may be that she really wants to end the relationship but has been so fearful of your reaction that she hasn’t been able to tell you. I hope you can get yourself to a place where you can reassure her that you may not like what she has to say but you will respect it. You had good years together. Angry words and controlling or vengeful behavior dishonor what you had. I hope instead you can both agree to grieve the relationship, to forgive each other for the awkwardness and hurtful things that people do when in pain, and to let each other go. You both deserve to find someone who is in love with you and loving in their treatment of you.
I wish you well.