docs.rodeo

MDN Web Docs mirror

Version control

{{LearnSidebar}} 

{{PreviousMenu("Learn_web_development/Core/Design_for_developers", "Learn_web_development/Core")}} 

Version control tools (often called Version Control Systems, or VCS) are an essential part of modern workflows, for backing up and collaborating on codebases. This module takes you through the essentials of version control using Git and GitHub.

Overview

Version control tools are essential for software development:

Version control tools meet the above needs. Git is an example of a version control tool, and GitHub is a website + infrastructure that provides a Git server plus a number of really useful tools for working with git repositories individually or in teams, such as reporting issues with the code, reviewing tools, project management features such as assigning tasks and task statuses, and more.

[!NOTE] Git is actually a distributed version control tools, meaning that a complete copy of the repository containing the codebase is made on your computer (and everyone else’s). You make changes to your own copy and then push those changes back up to the server, where an administrator will decide whether to merge your changes with the master copy.

Prerequisites

To use Git and GitHub, you need:

In terms of prerequisite knowledge, you don’t need to know anything about web development, Git/GitHub, or version control to start this module. However, it is recommended that you know some coding so that you have reasonable computer literacy, and some code to store in your repositories!

It is also preferable that you have some basic terminal knowledge, so for example moving between directories and creating files. You can find out all the basics in our Command line crash course.

[!NOTE] GitHub is not the only site/toolset you can use with Git. There are other alternatives such as GitLab that you could try, and you could also try setting your own Git server up and using it instead of GitHub. We’ve only stuck with GitHub in this course to provide a single way that works.

Learning outcomes

Guides

Note that the links below take you to resources on external sites. Eventually, we are aiming to have our own dedicated Git/GitHub course, but for now, these will help you get to grips with the subject at hand.

[!NOTE] There is a lot more that you can do with Git and GitHub, but we feel that the above represents the minimum you need to know to start using Git effectively. As you get deeper into Git, you’ll start to realize that it is easy to go wrong when you start using more complicated commands. Don’t worry, even professional web developers find Git confusing sometimes, and often solve problems by searching for solutions on the web, or consulting sites like Flight rules for Git and Dangit, git!

See also

{{PreviousMenu("Learn_web_development/Core/Design_for_developers", "Learn_web_development/Core")}} 

In this article

View on MDN