Join Michael Lehman for an in-depth discussion in this video Overview of software version control, part of Learning Software Version Control.
Hello, I am Michael Lehman, welcome to Fundamentals of Software Version Control. Version Control is the process of keeping track of your creative output as it evolves over the course of a project or product. It tracks what is changed, it tracks who changes it, and it tracks why it was changed. Keeping track of that evolution is vital. Maybe you are a developer, an artist, a writer, a composer, or a designer, you need it.
Perhaps you write source code, build scripts, create images and icons or style sheets, you need it. Do you write novels or screenplays? Maybe you build spreadsheets or record music. You need it too. A team can use it, or you can use it for your own private projects because remembering what you've done and how it was done is a key part of creative success. Every good journey begins with a story. This is mine. A couple of months before I recorded this course, the main drive in my laptop died.
It was one of those new high-speed solid-state drives, which crashes by losing everything with no hope of recovery. For me, the biggest loss was the files for this course. While I did have a manually-created backup, that ZIP only contained the latest versions. What really saved me was the contents of my cloud-based version control system. Not only did it have the latest and greatest, it contained all of the previous versions, the seven drafts of the script, the 14 versions with the PowerPoint slides, and the evolving table of contents.
But not only did it have the content, most importantly, it contained the memory of what I learned in the process of building the course. After rebuilding my system disk, I synchronized my local directories with the data from the cloud, then I was back in business. Now, I told you that story so I can say this: everybody needs Version Control. So what's your story? Have you ever accidentally deleted the wrong file or had your hard drive crash? Have you ever made copies of an important directory as you worked only to wonder later, what's the difference between the working, the better, and the final, final with bug fix directory? Perhaps, more importantly, did you forget to make a copy of an important file before you started making changes and then need to get back to the original? Have you ever had to fix a bug in the bits you shipped 2 months ago and didn't have an easy way to get back to that exact state? More than likely, you answered yes to nearly all of these questions.
If so, Version Control tools such as Subversion, Perforce, TFS, Git, and Mercurial will help you be more organized, safeguard your source code, and even get a better night's sleep. Sound good? So let's explore Version Control and see how easy it is to use and just exactly why it's priceless when it saves the day. Let's get started.
- Comparing centralized vs. distributed systems
- Saving changes and tracking history
- Using revert or rollback
- Working with the GUI tools
- Using IDE and shell integration
- Installing different systems
- Creating a repository
- Tagging code
- Branching and merging code
- Selecting a software version control system that's right for you