What's the best way to make backups?

Hey guys,

today UE4 messed up my current project. It was a pain to restore my project and a lot of my progress is gone. What’s the best way to prevent such things to happen? How does source control work? Is it possible with that?

Tanks in advance

use perforce. it’s good