How to forgive yourself for cheating

For those who have cheated, how did you move past the guilt and self-hate? Can you ever really forgive yourself, or does it stick with you forever?