Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Microsoft

GitHub Foundations

Microsoft via Microsoft Learn

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
  • Module 1: Use Git to track changes and collaborate with other developers.

    In this module, you'll:

    • Learn what version control is
    • Understand distributed version control systems, like Git
    • Create a new Git project and configure it
    • Make and track changes to code by using Git
    • Use Git to recover from simple mistakes
  • Module 2: Learn to use key GitHub features, including issues, notifications, branches, commits, and pull requests.

    In this module, you will:

    • Identify the fundamental features of GitHub
    • Learn about repository management
    • Gain an understanding of the GitHub flow, including branches, commits, and pull requests
    • Explore the collaborative features of GitHub by reviewing issues and discussions
    • Recognize how to manage your GitHub notifications and subscriptions
  • Module 3: Overview of GitHub's products, plans, associated features, and billing.

    After completing this module, you'll be able to:

    • Define the difference between the different types of GitHub accounts: Personal, Organization, and Enterprise.
    • Explain each GitHub plan: GitHub Free for personal accounts and organizations, GitHub Pro for personal accounts, GitHub Team, and GitHub Enterprise.
    • Distinguish the features associated with accessing GitHub on GitHub Mobile and GitHub Desktop.
    • Describe a brief overview of GitHub billing and payments.
  • Module 4: This module introduces you to code scanning and its features. You will learn how to implement code scanning using CodeQL, third party tools, and GitHub Actions.

    After completing this module, you'll be able to:

    • Describe code scanning.
    • List the steps for enabling code scanning in a repository.
    • List the steps for enabling code scanning with third-party analysis.
    • Contrast how to implement CodeQL analysis in a GitHub Actions workflow versus a third-party continuous integration (CI) tool.
    • Explain how to configure code scanning on a repository using triggering events.
    • Contrast the frequency of code scanning workflows (scheduled vs triggered by events).
  • Module 5: GitHub Copilot is an AI pair programmer that offers autocomplete-style suggestions as you code.

    In this module, you will:

    • Understand how GitHub Copilot can help you code by offering autocomplete-style suggestions.
    • Comprehend the differences between GitHub Copilot Individual, Business, and Enterprise.
    • Learn how to configure GitHub Copilot.
    • Troubleshoot GitHub Copilot.
  • Module 6: In this tutorial, you learn about GitHub Codespaces, its lifecycle, how to personalize your codespace, the differences between Codespaces and github.dev, and build a personalized and customized codespace with devcontainer.json files.

    By the end of this module, you're able to:

    • Describe GitHub Codespaces.
    • Explain the GitHub Codespace lifecycle and how to perform each step.
    • Define the different customizations you can personalize with GitHub Codespaces.
    • Discern the differences between GitHub.dev and GitHub Codespaces.
  • Module 7: Visualize large projects as spreadsheets or boards, and automate everything with code.

    In this module, you learn to:

    • Discern the differences between Projects and Projects (Classic).
    • Build an organization level Project.
    • Organize your Project.
    • Edit the visibility, access, and management of your Project.
    • Develop automation and insights from your Project.
  • Module 8: Learn to use Markdown to communicate with brevity, clarity, and expression.

    In this module, you'll:

    • Use Markdown to add lists, images, and links in a comment or text file.
    • Determine where and how to use Markdown in a GitHub repository.
    • Learn about syntax extensions available in GitHub (GitHub-flavored Markdown).
  • Module 9: Learn how to contribute to an open-source project on GitHub.

    In this module, you will learn how to:

    • Find open-source projects and tasks to contribute to in GitHub.
    • Create pull requests to open-source projects.
    • Implement best practices to communicate with open-source maintainers and perform code reviews.
    • Find and engage with open-source communities.
  • Module 10: Learn to manage a successful InnerSource program on GitHub through effective discoverability, guidance, and maintenance.

    In this module, you will learn to:

    • Contrast user versus organization owned projects
    • Make recommendations about the number of GitHub organizations you should have
    • Create discoverable repositories
    • Create robust repository READMEs
    • Use issue and pull request templates
    • Build transparency into repositories
    • Measure the success of InnerSource within your organization
    • Distribute your InnerSource toolkit
  • Module 11: Learn best practices for building, hosting, and maintaining a secure repository on GitHub.

    In this module, you will:

    • Identify the tools and GitHub features to establish a secure development strategy.
    • Enable vulnerable dependency detection for private repositories.
    • Detect and fix outdated dependencies with security vulnerabilities.
    • Automate the detection of vulnerable dependencies with Dependabot.
    • Add a security policy with a SECURITY.md file.
    • Remove a commit exposing sensitive data in a pull request.
    • Remove historical commits exposing sensitive data deep in your repository.
  • Module 12: Understand the security and control measures available to GitHub administrators within an organization or enterprise.

    By the end of this module, you'll be able to:

    • Summarize the organizational structures and permission levels that GitHub administrators can use to organize members in order to control access and security.
    • Identify the various technologies that enable a secure authentication strategy allowing administrators to centrally manage repository access.
    • Describe the technologies required to centrally manage teams and members using existing directory information services.
    • Describe how you can use GitHub itself as an identity provider for authentication and authorization.
  • Module 13: Learn how to manage the authentication and authorization of user identities on GitHub.

    By the end of this module, you will:

    • Be able to describe the Authentication and Authorization Model.
    • Understand how to manage user access to your GitHub organization through Authorization and Authentication tools.
    • Identify the supported identity providers and technologies that support secure repository access.
    • Understand the implications of enabling SAML SSO.
    • Identify the authorization and authentication options available, and understand the administrator's role in enforcement of a secure access strategy for a GitHub enterprise.
    • Describe how users access private information in a GitHub organization.
    • Evaluate the benefits of enabling Team Synchronization to manage team membership.
  • Module 14: Learn how to manage changes to your repository source by using pull requests.

    In this module, you will:

    • Review branches and their importance to pull requests.
    • Define what a pull request is.
    • Learn how to create a pull request.
    • Understand the different pull request statuses.
    • Walk through how to merge a pull request to a base branch.
  • Module 15: Learn to search and organize repository history by using filters, blame, and cross-linking on GitHub.

    In this module, you will:

    • Find relevant issues and pull requests.
    • Search history to find context.
    • Make connections within GitHub to help others find things.
  • Module 16: Make changes and updates to a Python application by using GitHub Copilot with Visual Studio Code.

    By the end of this module, you're able to:

    • Enable the GitHub Copilot extension in Visual Studio Code.
    • Craft prompts that can generate useful suggestions from GitHub Copilot.
    • Use GitHub Copilot to improve a Python project.

Syllabus

  • Module 1: Module 1: Introduction to Git
    • Introduction
    • What is version control?
    • Exercise - Try out Git
    • Basic Git commands
    • Knowledge check
    • Summary
  • Module 2: Module 2: Introduction to GitHub
    • Introduction
    • What is GitHub?
    • Components of the GitHub flow
    • GitHub is a collaborative platform
    • GitHub platform management
    • Exercise - A guided tour of GitHub
    • Knowledge check
    • Summary
  • Module 3: Module 3: Introduction to GitHub's products
    • Introduction
    • GitHub accounts and plans
    • GitHub Mobile and GitHub Desktop
    • GitHub billing
    • Knowledge check
    • Summary
  • Module 4: Module 4: Configure code scanning on GitHub
    • Introduction
    • What is code scanning?
    • Enable code scanning with third party tools
    • Configure code scanning
    • Configure code scanning exercise
    • Knowledge check
    • Summary
  • Module 5: Module 5: Introduction to GitHub Copilot
    • Introduction
    • GitHub Copilot, your AI pair programmer
    • Set up, configure, and troubleshoot GitHub Copilot
    • Exercise - Develop With AI powered code suggestions using GitHub Copilot and VS Code
    • Knowledge check
    • Summary
  • Module 6: Module 6: Code with GitHub Codespaces
    • Introduction
    • The Codespace lifecycle
    • Personalize your Codespace
    • Codespaces versus GitHub.dev editor
    • Exercise - Code with Codespaces and Visual Studio Code
    • Knowledge check
    • Summary
  • Module 7: Module 7: Manage your work with GitHub Projects
    • Introduction
    • Projects versus Projects Classic
    • How to create a project
    • How to organize your project
    • How to organize and automate your project
    • Insight and automation with projects
    • Knowledge check
    • Summary
  • Module 8: Module 8: Communicate effectively on GitHub using Markdown
    • Introduction
    • What is Markdown?
    • Exercise - Communicate using Markdown
    • Knowledge check
    • Summary
  • Module 9: Module 9: Contribute to an open-source project on GitHub
    • Introduction
    • Identify where you can help
    • Contribute to an open-source repository
    • Exercise - Create your first pull request
    • Next steps
    • Knowledge check
    • Summary
  • Module 10: Module 10: Manage an InnerSource program by using GitHub
    • Introduction
    • How to manage a successful InnerSource program
    • Exercise - InnerSource fundamentals
    • Knowledge check
    • Summary
  • Module 11: Module 11: Maintain a secure repository by using GitHub best practices
    • Introduction
    • How to maintain a secure GitHub repository
    • Automated security
    • Exercise - Secure your repository's supply chain
    • Knowledge check
    • Summary
  • Module 12: Module 12: Introduction to GitHub administration
    • Introduction
    • What is GitHub administration?
    • How does GitHub authentication work?
    • How does GitHub organization and permissions work?
    • Knowledge check
    • Summary
  • Module 13: Module 13: Authenticate and authorize user identities on GitHub
    • Introduction
    • User identity and access management
    • User authentication
    • User authorization
    • Team synchronization
    • Knowledge check
    • Summary
  • Module 14: Module 14: Manage repository changes by using pull requests on GitHub
    • Introduction
    • What are pull requests?
    • Exercise - Reviewing pull requests
    • Knowledge check
    • Summary
  • Module 15: Module 15: Search and organize repository history by using GitHub
    • Introduction
    • How to search and organize repository history by using GitHub
    • Exercise - Connect the dots in a GitHub repository
    • Knowledge check
    • Summary
  • Module 16: Module 16: Using GitHub Copilot with Python
    • Introduction
    • What is GitHub Copilot?
    • Exercise - Set up GitHub Copilot to work with Visual Studio Code
    • Use GitHub Copilot with Python
    • Exercise - Update a Python web API with GitHub Copilot
    • Knowledge check
    • Summary

Reviews

Start your review of GitHub Foundations

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.