This lesson is an introduction to version control systems or VCS. You’ll learn what version control systems are, how they work, the benefits of using one, and the different types of VCS systems available to you.
What is a Version Control System (VCS)?
00:00 Hey there! Welcome to the introduction to Git and GitHub. In this course, we’ll cover the basics of working with Git, one of the most widely-used version control systems in the world. When we’re done, you’ll know at a high level how Git and GitHub work, you’ll be able to set up your own local and remote Git repositories, and you’ll even be ready to start contributing to projects.
00:28 What Git and GitHub—or, really, any VCS—are going to give you is peace of mind. Whether you want to work in a company, as a freelancer, or build the next big app on your own, you will need to use a version control system.
00:42 Using a version control system lets you code with confidence as you can move forwards and backwards in the timeline of your project, you can hunt the origin of bugs, prevent losing or writing over files, and you can collaborate with everybody on your project.
01:50 You can even recall old versions of the file or files if you’d like. So, let’s take a quick stroll through the history of version control. As I mentioned earlier, the first way of version control is to simply rename files or directories on your local computer and use version numbers.
02:07 This, of course, is error-prone because what happens when your kids delete a file or you write over the wrong file or delete a directory? Big time bummer. So to combat these types of events, early version control systems housed a database on your local computer that kept track of changes on files under revision control.
02:29 This is also known as tracking. This local version control kept track of the changes between files. This is commonly called deltas. The next problem that needed to be solved was collaborating with multiple developers, and this led to centralized version control.
02:46 This is where the database was housed on a server that all clients could access and check out the latest snapshot of files and directories. Both of those methods work fine, but you’ve probably already figured out—because you’re smart—there’s a potential fatal flaw.
03:09 all that work is probably unrecoverable. Distributed version control systems were then created to mitigate that risk of losing everything. In a distributed version control system—we’ll now call them VCSs—each client checks out a local copy of the repository, including the changes.
03:29 Every clone is really a full backup, so in the event of a server crash, the client repositories can be pushed back up and restore the server. In this onscreen example, we see just two computers, or nodes, but there could be tens, hundreds, even thousands in a distributed version control system. Git itself is a distributed version control system.
Become a Member to join the conversation.