Source Management

I’m wondering what you guys use for keeping track of different versions of things, whether it’s a site you’re building or programming or whatever. Programs or just methods or mindsets are all good - what do you do?