Viewers: in countries Watching now:
This course is a gateway to learning software version control (SVC), process management, and collaboration techniques. Author Michael Lehman reviews the history of version control and demonstrates the fundamental concepts: check-in/checkout, forking, merging, commits, and distribution. The choice of an SVC system is critical to effectively managing and versioning the assets in a software development project (from source code, images, and compiled binaries to installation packages), so the course also surveys the solutions available. Michael examines Git, Perforce, Subversion, Mercurial, and Microsoft Team Foundation Server (TFS) in particular, describing the appropriate use, features, benefits, and optimal group size for each one.
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.
There are currently no FAQs about Fundamentals of Software Version Control.
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.