GitHub Learning Lab

Learn new skills by completing fun, realistic projects in your very own GitHub repository. Get advice and helpful feedback from our friendly Learning Lab bot.

Sign in with GitHub

Our most popular courses

Created by 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

Created by GitHub

Create a GitHub Action and use it in a workflow.

GitHub Actions
Workflows
Hello World

Created by 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.

Learning Paths

Learn something new with these curated lists of our favorite courses, videos, tutorials, and more.

First Day on GitHub

Learning Path by 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
  4. And 2 more...

First Week on GitHub

Learning Path by 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. Reviewing pull requests
  3. Securing your workflows

InnerSource: theory to practice

Learning Path by The GitHub Training Team

Learn about the concept of InnerSource and put it to use in this carefully crafted learning path.

  1. An introduction to InnerSource
  2. InnerSource fundamentals
  3. Case studies
  4. And 3 more...

Become an open source enterprise

Learning Path by The GitHub Training Team

Learn about open source in the enterprise. It's about more than just contributing!

  1. What is open source? Explained in Legos
  2. The state of enterprise open source: A Red Hat report
  3. Create an open source program
  4. And 4 more...

GitHub Universe Workshops

Learning Path by The GitHub Training Team

Get ready to master GitHub Actions and learn how they can help your team integrate DevOps principles into your workflows.

  1. InnerSource fundamentals
  2. Hello, GitHub Actions!
  3. GitHub Actions: Continuous Integration
  4. And 4 more...

Ramp up on Git and GitHub

Learning Path by The GitHub Training Team

A set of resources leveraged by Microsoft employees to ramp up on Git and GitHub. Progress of this path is intended to take about 4 weeks, including 1 week of prerequisites.

  1. Git Handbook
  2. GitHub Learning Lab
  3. Communicating using Markdown
  4. And 15 more...

Learn GitHub with GitHub

Created by The GitHub Training Team

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

GitHub
GitHub Pages

Created by 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

Created by 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

Created by 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

Created by The GitHub Training Team

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

GitHub

Created by 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

Created by The GitHub Training Team

Course repo for Learning Lab course "Security strategy essentials"

Created by The GitHub Training Team

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

Git
GitHub

Created by The GitHub Training Team

Use Learning Lab's strengths for fast feedback to author your own course.

Created by The GitHub Training Team

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

Languages and Tools

Created by 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

Created by 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

Created by everydeveloper

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

Python

Created by everydeveloper

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

Python

Created by 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

Created by everydeveloper

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

Ruby

Created by everydeveloper

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

TensorFlow
Python
Machine learning
Neural network

Created by everydeveloper

Predict Pokemon stats with the help of the TensorFlow library

TensorFlow
Python
Machine learning
Neural network

Created by everydeveloper

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

Java

Created by 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

Created by michael-spengler

Starting with TypeScript

Created by 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

Created by M3kH

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

NodeJS
JavaScript
Express
Server

Created by tomtom-international-labs

In this course you will learn how to create an Android application that displays a TomTom Map

android
tomtom-sdk
maps

Created by gitmusical

LilyPond is an open source technology for notating music in plain text files. In this course, we'll cover the fundamentals of music notation in LilyPond.

Created by The GitHub Training Team

In this course, you will learn the basics of React.js through building a gradebook web application to manage assignments, students, and grades.

Created by vtex-trainings

Learning how to build a store using the Store Framework blocks language, powered by VTEX IO.

DevOps with GitHub

Created by The GitHub Training Team

Create two deployment workflows using AWS.

GitHub Actions
Workflows
CD
Continuous Delivery
Deployment

Created by The GitHub Training Team

Learn how to create workflows that enable you to use Continuous Integration (CI) for your projects.

Created by The GitHub Training Team

This course will walk you through using GitHub Actions to get your code in a deployable state once your CI workflows have completed.

Created by The GitHub Training Team

Learn how to write your own GitHub JavaScript Action! This course will empower you to begin automating customized tasks unique to your workflow.

Created by The GitHub Training Team

Add your own GitHub feature, automate workflows, and more with GitHub Apps.

Created by The GitHub Training Team

Learn how to automatically test changes made to your project, freeing you up to write more amazing code.

Continuous Integration

Created by The GitHub Training Team

Learn about the principles of continuous integration with GitHub and Travis CI.

Continuous Integration

Enterprise on GitHub

Created by The GitHub Training Team

Organizations of all sizes and in all industries are chatting about InnerSource concepts. This course walks you through some of the key concepts of InnerSource and helps you build up an internal toolkit for adopting InnerSource practices.

Created by The GitHub Training Team

Learn how to work alongside the open source communities that build software you're already using, and put your business at the forefront of the world's most innovative and secure code.

Open source
Enterprise
Licensing
Templates
Guidelines

Created by The GitHub Training Team

This course focuses on releases, and more complex branching strategies.

GitHub

Looking for something else?

Getting started

Install the app

Sign in with GitHub and then install GitHub Learning Lab on your account.

Register for a course

Choose a course and register. GitHub Learning Lab will create a new repository on your account.

Start learning

Start the course by following the instructions in the first issue or pull request comment by Learning Lab bot.

Ready to start learning?

Sign in with GitHub