Not a guide to getting good with Git (or Mercurial or whatever), but close enough.
Let’s talk revision control and version control systems (VCSs). Why? They’re important. Why? Let me tell you, now shoosh. Using version control allows you to keep track of the changes you’ve made to your codebase. Say you have a text file with a list of names. You remove all the ones that start with a C, and add a couple new ones to the list. You “commit” these changes to your VCS, and they’re now stored. A day later you remember you had to delete names starting with a D, not C. Good thing you kept track of your changes, all you need to do is tell your VCS to revert to the previous version. But you don’t want to have to re-enter all those new names you added, that’d be a chore. Got your back here, too. You can specify what changes you want to revert!
Phew, lucky you used version control, right? There’s so much more it can do, too. It maks it really easy for multiple people to work on the same project. Their changes are kept track of, so even if the versions they work in aren’t the same, the changes can still be applied to each other, and merged into a final product. Branches can be used for this purpose, but also for splitting features. Maybe you want to try out something cool, but not shit up the main “timeline” of your project with it. Create a branch in your VCS and work from there. Makes it real easy to go back to the way it was before, too.
Version control has saved my ass multiple times now. Not those “too close for comfort” kind of moments, but just because it’s so damn convenient. Tried out a different method of shape drawing for Geometroids today, but didn’t like it. A lot of code had changed though, but I could revert it all with the click of a button. Mighty useful.
Speaking of Geometroids, it’s coming along decently. Not looking forward to the last 10% (read: 90% of the work) though.