If you have git style branching available, you can commit half-finished ideas and save ALL your backup versions. Almost all my directories are littered with files called sourcefile.v1 sourcefile.v2 sourcefile.old etc. etc. With git if your current version hits a dead-end, you can easily switch back to an earlier branch before you went off the deep end.
At least, that's how I code. I generally just jam code in down different paths, often refactoring whatever I'm doing when a new understanding of something comes along, but often this results in another incorrect branch and I need to back up to 'semi-working' code.
Comments
If you have git style branching available, you can commit half-finished ideas and save ALL your backup versions. Almost all my directories are littered with files called sourcefile.v1 sourcefile.v2 sourcefile.old etc. etc. With git if your current version hits a dead-end, you can easily switch back to an earlier branch before you went off the deep end.
At least, that's how I code. I generally just jam code in down different paths, often refactoring whatever I'm doing when a new understanding of something comes along, but often this results in another incorrect branch and I need to back up to 'semi-working' code.