I tried perforce. It doesn’t do what I want and seems incredibly counter-intuitive and convoluted for one person just wanting a backup.
This is what I want: It should have a backup of my project stored on the server. When a file changes locally it should make a backup. If something crashes I should be able to go through the file history and restore.
It should be automatic and behind the scenes and only there when I need it to be.