Eat so you don't have to cheat.
STOP EATING CHEAT MEALS!!!!!!!! You should never have to "cheat" on your lifestyle, get that word out of your head!!
In my opinion, the one and only foolproof way to achieve your goals long term is to develop a sustainable lifestyle that lines up with them.
Unless you have a specific goal that requires limiting a food of food group (like I did with IBS), then I firmly believe there should be no "bad" foods, only moderation.
What do I mean by this?
Instead of avoiding foods until your cravings bottle up and explode (into a cheat meal), find a healthy balance and eat the foods you love and enjoy - and if they're less nutritious or don't line up with your goals, eat them in moderation.
The goal in my eyes is to enjoy your day-to-day life without stewing over constantly having to say no to foods, leading to an overwhelming feeling of guilt when you do cave in.
If your mind is constantly in the fridge, your diet is too restrictive.
Now, this doesn't mean eat whatever your heart desires at any given moment, you still have to be strategic about the food you eat to ensure you feel full, satisfied, and full of energy throughout the day - all while supporting your wider health.
But when the opportunity arises to eat something less nutritious (and you want it), fill the craving and don't go over the top.
You'll soon find that "plugging" these cravings, ENJOYING IT (not feeling guilty), and moving on with your life, will limit the overwhelming feeling to dive into a triple bacon cheeseburger, a tub of ice cream, or the like!