Skip to content

Version Control with Git

Free Course

Learn to track and manage changes

Related Nanodegree Program


About this course

This course covers the essentials of using the version control system Git. You'll be able to create a new Git repo, commit changes, and review the commit history of an existing repo. You'll also learn how to keep your commits organized using tags and branches and you'll master the art of merging changes by crushing those pesky merge conflicts. Oh no! Was a mistake made along the way? Learn how to edit commits, revert changes, or even delete commits.

What you will learn

  1. Purpose & Terminology
    • Learn why developers use version control and discover ways you use version control in your daily life
    • Get an overview of essential Git vocabulary
    • Configure Git using the command line
  2. Create a Git Repo
    • Create your first Git repository with git init
    • Copy an existing Git repository with git clone
    • Review the current state of a repository with the powerful git status
  3. Review a Repo's History
    • Review a repo's commit history git log
    • Customize git log's output using command line flags in order to reveal more (or less) information about each commit
    • Use the git show command to display just one commit
  4. Add Commits to a Repo
    • Master the Git workflow and make commits to an example project
    • Use git diff to identify what parts of a file have been changed in a commit
    • Learn how to mark files as "untracked" using .gitignore
  5. Tagging, Branching, and Merging
    • Organize your commits with tags and branches
    • Jump to particular tags and branches using git checkout
    • Learn how to merge together changes on different branches and crush those pesky merge conflicts
  6. Undoing Changes
    • Learn how and when to edit or delete an existing commit
    • Use git commit's --amend flag to alter the last commit
    • Use git reset and git revert to undo and erase commits

Prerequisites and requirements

This course is ideal for developers of all skill levels. Experience with the command line is beneficial, but not required.

See the Technology Requirements for using Udacity.

Why take this course?

Version control is an incredibly important skill that every developer should master, and Git is one of the most popular version control systems used in the workforce. Whether you're working as a solo developer or working with a team, being able to track the history of a project is paramount. Tracking versions of your code will help you keep a record of progress and allow you to "undo" any blunders that occur along the way. This is incredibly important in a profession where ~96% of developers say they work on a team of engineers all working on the same code and ~67% of developers report having to check-in changes in their code at least once a day.

Learn with the best.

  • Richard Kalehoff
    Richard Kalehoff