• Provider
  • Cost
  • Session
  • Language
  • Duration


Effective use of version control is an important and useful skill for any developer working on long-lived (or even medium-lived) projects, especially if more than one developer is involved. This course, built with input from GitHub, will introduce the basics of using version control by focusing on a particular version control system called Git and a collaboration platform called GitHub.

This course is part of the Front End and Full Stack Nanodegrees..

Why Take This Course?

Git is used by many tech companies, and a public GitHub profile serves as a great portfolio for any developer. But more than that, you’ll establish an efficient programming workflow that allows you to:

  • Keep track of multiple versions of a file
  • Track bugs by reverting to previous working versions of a file
  • Seamlessly collaborate with other developers on a project

The use of tools like Git and GitHub is essential for collaborating with other developers in most professional environments.


Lesson 1: Navigating a Commit History

In this lesson, you’ll learn about a few different types of version control systems and discover what makes Git a great version control system for programmers. You’ll also get practice using Git to view the history of an existing project. You’ll learn to see all the versions that have been saved, checkout a previous version, and compare two different versions.

Lesson 2: Creating and Modifying a Repository

In this lesson, you’ll learn how to create a repository and save versions of your project. You’ll learn about the staging area, committing your code, branching, and merging, and how you can use these to make you more efficient and effective.

Lesson 3: Using GitHub to Collaborate

In this lesson, you’ll get practice using GitHub or other remote repositories to share your changes with others and collaborate on multi-developer projects. You’ll learn how to make and review a pull request on GitHub. Finally, you’ll get practice by collaborating with other Udacity students to write a create-your-own-adventure story.

Project: Contribute to a Live Project

Students will publish a repository containing their reflections from the course and submit a pull request to a collaborative Create-Your-Own-Adventure story.