What is Version Control

Tim Buchalka's Learn Programming Academy
A free video tutorial from Tim Buchalka's Learn Programming Academy
Professional Programmers and Teachers - 1M+ students
4.5 instructor rating • 52 courses • 1,032,947 students

Lecture description

Before diving deep into using Git and GitHub, you must understand what Version Control is, and so, in this lecture we give you an introduction to its main advantages and what you can expect when using it

Learn more from the full course

Git & GitHub Masterclass

Add real world development team skills for version control and source control to your resume & programming arsenal!

11:34:11 of on-demand video • Updated November 2020

  • Use Git and GitHub in the way that modern development teams use them.
  • Understand the ideal structure of a repository.
  • Learn how GitHub will enable great collaboration in a development team.
  • Master the git commands that will help you explore any repository.
  • Leverage Markdown in your GitHub repositories.
  • Publish your repositories in public websites through GitHub Pages.
  • Feel comfortable contributing to a repository, whether open source or as part of your job.
  • Understand how GitHub is the foundation for more advanced development practices such as CI/CD and DevOps.
English [Auto] Hello and welcome to these gates and gave hope masterclass. My name is War of the Roses. I am going to be your instructor throughout the entire year. Can this curse of course we're going to learn two different tools get and get hub. And the key here is the word different. It is actually quite common to think that gate and get off are more related and more similar than they actually are. But these are entirely different tools. They are going to be relying on each other. A lot of the times but mostly they are independent. Now throughout the entire occurs we're actually going to see how to do things from both gait and github and the results are going to be the same. These may lead you to believe that we can use them independently but github is actually going to be relying on the power of GID in most of those scenarios of course and gates and get him are going to have their unique features. Some of them are going to be shared but don't worry we're going to dig a little bit deeper in the differences between these two in the next section. For now I want to focus on what is version control or revision control or the source control. These are three different names that we can use for the exact same thing. Now most of the times I am going to be referring to these as version control. It's the naming that I'm going to be using. But if you ever find revision control or source control it's likely that they are referring to the exact same thing. So fishermen troll easy management of changes made to documents bought it isn't limited to tracking changes or different versions of those documents version control can actually contain a bunch of information about who made the change which ceased by the way you've been called a blame perhaps so we can blame box into someone but it also contains. When was these change made and what were the actual changes down to the line. So knowing what version control ease why is it so important. And let me just talk about it by referring to what I did when I was back in school and these may actually be something that you relate to. It's OK if you don't but I remember constantly creating new versions of a single document. I would have a final project and then our final final project and then our final final project too. And so on. Now of course now I think I know better. But in this scenario google docs would have been particularly helpful. But Dando that precarious form of risk control allowed me to go back to older versions if I made some terrible mistakes sometimes ead allowed me to compare how much I had worked throughout some week and often it would also allow me to merge the work of my teammates in the new version all of these are valid reasons for why version control is so important so we can keep track of changes in the files. So we are able to go back to a previous working version if we did something wrong and now our version doesn't work. And so we can easily add someone else's work into our own. So now that we know about this let's talk about where can we use and get the version control and the answer is pretty much everywhere not only in those files that you know are code those JavaScript files the assessed files see Shah files Java saved any file that is code but also some files that you mean you think about when writing your projects maybe you have a doc file a b the f file or some files that not necessarily work directly with your application. Maybe it's documentation maybe it's something entirely different but those files can also be tracked using gate version control. And so how do development teams use version control. It is easy to mine just ourselves at the beginning working on the first version of an application. And even if there is no one else on the team it is important for us to have a formal version control which should allowed us to as we have mentioned go back to previous versions perhaps or keep track of the changes. But eventually when more people join a team it is important to share this code with them so we can collaborate on a single repository so more than one person has access to the exact same code. And together they can make changes to the exact same files and have version control manage. These changes keep track of them and note that we can always go back a version. Eve we did something wrong. Eventually we may even that third computer to these sort of network and these clouding this is more graphic could also represent GitHub. Of course we'll learn more about github but for now you can think of it as just another computer in this network which has access to the exact same repository so we can use these version control together with the entire team to win a team. You will most of the time see this setup. One main computer is going to create the repository. It is going to initialize a version control. Eventually these main computer is going to share this repository with other computers either local computers or computers in the cloud such as GitHub and eventually more and more members of the team can connect the damn repository even directly through the main computer or through one of the other nodes mainly GitHub. But of course all of this is something that we're going to learn more and more as we progressed through the years. For now let's just think about version control as a tool that really enables falls to keep track of changes allows us to go back to different versions see we messed something up and maybe even merge the versions from different team members. So again I welcome you to these guys and get help masterclass throughout the rest of the section we're going to get started by getting get ready on Windows Mac or Linux depending on what setup you have and actually initializing our virtual control and making our first comments.