Stop the forgiving and forgetting. Stop letting that other person wear you down until you are nothing more than a crumbled up piece of paper filled with the words you wish you would have said in your own defense. It's not normal for a partner to hit you, scream at you, or let you cry yourself to sleep every night. Don't be worn down or lose your own sense of self worth just because of what that other person says about you.
You deserve more. You deserve to not be afraid to go back to your apartment because if he or she had a bad day they will definitely take it out on you. You deserve someone who will not be ashamed of any of your small quirks or habits. You deserve the right to be able to wear whatever you want, without having to ask permission first.
Even if everyone thinks your partner is "nice" or treats you like royalty, you deserve to speak the truth. Yell to the rooftops that your partner absolute shit, you deserve to. You can walk away if you know that you need to.
It is not love to hit, scream, humiliate, stalk, or to just totally dehumanize someone. You deserve someone who will make themselves look like a complete idiot just to see you. Don't stay with someone who get's pleasure from hurting you, when there is someone else out there who will love you unconditionally.
You. Deserve. Better.