I was reading through the blog of one of the
GitHub cofounders and an article caught my eye because it described a process very similar to the one that forum posters here have said they use:
You start your project in a directory named working. As you code, you try to write one feature at a time. When you complete a self-contained portion of a feature, you make sure that all your files are saved and then make a copy of the entire working directory, giving it the name snapshot-0. After you perform this copy operation, you make sure to never again change the code files in the new directory. After the next chunk of work, you perform another copy, only this time the new directory gets the name snapshot-1, and so on.
What's the point? Well, he doesn't insult anyone for using a process like this. Instead, he sees it as the first step toward the design of a distributed version control system. A DVCS is software to run this process, to encapsulate all the best practices people have learned from decades of coding and collaborating in an automatic system.
The following parable will take you on a journey through the creation of a Git-like system from the ground up. Understanding the concepts presented here will be the most valuable thing you can do to prepare yourself to harness the full power of Git. The concepts themselves are quite simple, but allow for an amazing wealth of functionality to spring into existence. Read this parable all the way through and you should have very little trouble mastering the various Git commands and wielding the awesome power that Git makes available to you.
For anybody still on the fence about whether version control is worthwhile, give
The Git Parable a read to find out why most developers consider it a necessity. If it gets you curious to learn git, the free book
Pro Git is the best thing to read next.