Advance your journey

With GitHub Learning Lab, grow your skills by completing fun, realistic projects. Get advice and helpful feedback from our friendly Learning Lab bot.

Find your first course

Use of Learning Lab is subject to
the GitHub Terms of Service.

Our most popular courses

avatar The GitHub Training Team

If you are looking for a quick and fun introduction to GitHub, you've found it. This class will get you started using GitHub in less than an hour.

Git
GitHub Pages
Branches
Commits
Pull Requests

avatar The GitHub Training Team

Create a GitHub Action and use it in a workflow.

GitHub Actions
Workflows
Hello World

avatar The GitHub Training Team

This course will walk you through everything you need to start organizing ideas and collaborating using Markdown, a lightweight language for text formatting.

GitHub
Markdown

Learning should be fun

There are no simulations or boring tutorials here, just hands-on lessons created with by the GitHub community and taught by the friendly Learning Lab bot.

Real projects

Learn new skills while working in your own copy of a real project.

Helpful bot

Our friendly bot provides instructions and feedback throughout your journey.

Real workflow

Everything happens in GitHub Issues and Pull Requests.

Our Learning Paths

avatar The GitHub Training Team

Welcome to GitHub! We're so glad you're here. We know it can look overwhelming at first, so we've put together a few of our favorite courses for people logging in for the first time

  1. What is GitHub?
  2. Introduction to GitHub
  3. Git Handbook

avatar The GitHub Training Team

After you've mastered the basics, learn some of the fun things you can do on GitHub. From GitHub Pages to building projects with your friends, this path will give you plenty of new ideas.

  1. Discover GitHub Pages
  2. GitHub Pages
  3. Reviewing pull requests

avatar The GitHub Training Team

Learn how to do DevOps on GitHub with the power of GitHub Actions! This path will guide you through leveraging GitHub Actions to go from code to cloud.

  1. GitHub Actions: Hello World
  2. GitHub Actions: Continuous Integration
  3. GitHub Actions: Publish to GitHub Packages

Learn GitHub with GitHub

avatar The GitHub Training Team

Learn how to create a site or blog from your GitHub repositories with GitHub Pages.

GitHub
GitHub Pages

avatar The GitHub Training Team

There are millions of projects on GitHub, all competing for attention from the millions of open source contributors available to help. Learn how to help your project stand out.

GitHub
Open Source

avatar The GitHub Training Team

You’re an upload away from using a full suite of development tools and premier third-party apps on GitHub. This course helps you seamlessly upload your code to GitHub and introduces you to exciting next steps to elevate your project.

Git
GitHub

avatar The GitHub Training Team

You're a migration away from using a full suite of development tools and premier third-party apps on GitHub. This course helps you seamlessly move code to GitHub and sets you up to do more after you make the move.

Git
GitHub

avatar The GitHub Training Team

See how collaboration works on GitHub and start building great things, together.

GitHub

avatar The GitHub Training Team

Merge conflicts are a normal part of working in Git. Learn why they happen and how to resolve them with ease.

Git
Merge conflicts
GitHub

avatar The GitHub Training Team

Learn security best practices and keep your project’s contributions—and contributors—safe.

Git
GitHub

avatar The GitHub Training Team

This course will teach you skills for finding relevant conversations, commits, and projects in a repository.

Languages and Tools

avatar The GitHub Training Team

If you are looking for a quick and fun introduction to the exciting world of programming, this course is for you. Learn fundamental HTML skills and build your first webpage in less than an hour.

GitHub Pages

avatar everydeveloper

Node.js gives you the ability to run JavaScript files on the server-side. Express is a library for Node.js, that allows you to make requests to different "endpoints" and get a response back.

Node
Express
JavaScript
JSON
API

avatar everydeveloper

Go from Hello World to writing a short random quote generator using Python.

Python

avatar everydeveloper

Learn how to create a dice-rolling app with Python!

Python

avatar everydeveloper

This tutorial expands on concepts in the intro to Node.js and Express.js course. You will learn how to use a database (MongoDB) to Create, Read, Update, and Delete data.

node.js
express.js
mongoose.js
JavaScript
MongoDB

avatar everydeveloper

Learn the basics of Ruby. Make a hello world program, then include if/else statements

Ruby

avatar everydeveloper

Get started with Machine Learning (ML)/Neural Network (NN) tools

TensorFlow
Python
Machine learning
Neural network

avatar everydeveloper

Predict Pokemon stats with the help of the TensorFlow library

TensorFlow
Python
Machine learning
Neural network

avatar everydeveloper

Java is an object oriented programming language, which is popular for multi-platform apps.

Java

avatar everydeveloper

PHP is a server-side programming language that can insert dynamic code into your HTML. PHP is used in popular content management systems, such as WordPress and Drupal.

PHP

avatar The GitHub Training Team

Design Thinking is a human-centric approach to creating solutions. This course will teach you the principles of Design Thinking and walk you through applying its five phases to your projects.

avatar Stockholm Research Center

Hello and welcome! In this lab we will cover the basic setup needed to build Reason React applications, covering testing, documenting them, building, and releasing them!

reason
bucklescript
reason-react
react

avatar M3kH

Learn the basics to create an Express server and follow the REST principles.

NodeJS
JavaScript
Express
Server