Overview
The following exercises are designed to provide you with a hands-on learning experience where you'll explore common tasks GitHub users perform when collaborating on projects.
Important: These exercises are focused on using GitHub as a collaboration platform. While some tasks may involve Azure resources, the primary focus is on GitHub workflows and best practices. If you don't have one GitHub account, you can create one for free at GitHub.
Note: To complete the exercises, you'll need an Azure subscription in which you have sufficient permissions and quota to provision the necessary Azure resources. If you don't already have one, you can sign up for an Azure account.
Some exercises may have additional, or different, requirements. Those will contain a Before you start section specific to that exercise.
Topic levels
GH-900
Exercise - Try out Git
Learn Git fundamentals including version control concepts, configuring your identity, creating and committing to repositories, exploring history, working with branches, and basic collaboration workflows.
Exercise - A guided tour of GitHub
Get started using GitHub in less than an hour. Learn about repositories, branches, commits, and pull requests.
Exercise - Create your first pull request
Learn how to make your first contribution to open source. Follow step-by-step instructions to fork, clone, branch, commit, and create a pull request.
Exercise - Communicate using Markdown
Organize ideas and collaborate using Markdown, a lightweight language for text formatting. Learn to use headings, lists, images, links, and more.
Exercise - Code with Codespaces and Visual Studio Code
Use GitHub Codespaces and Visual Studio Code to develop and run code in a cloud-based development environment.
Exercise - Reviewing pull requests
Learn how to effectively review pull requests, provide feedback, request changes, and approve code contributions.
Exercise - Connect the dots in a GitHub repository
Learn how to connect work items, link issues and pull requests, and organize your work effectively in a GitHub repository.
Exercise - Secure your repository's supply chain
Learn how to secure your repository by identifying and fixing vulnerabilities in dependencies, using Dependabot, and implementing security best practices.
Exercise - Develop with AI-powered code suggestions by using GitHub Copilot and VS Code
Learn how to use GitHub Copilot with Visual Studio Code to get AI-powered code suggestions, write code faster, and improve your productivity.
GH-100
Exercise - A guided tour of GitHub
Get started using GitHub in less than an hour. Learn about repositories, branches, commits, and pull requests.
Exercise - Secure your repository's supply chain
Learn how to secure your repository by identifying and fixing vulnerabilities in dependencies, using Dependabot, and implementing security best practices.
Exercise - Change commit history
Learn how to modify commit history using Git commands like rebase, amend, and squash to maintain a clean project history.
Exercise - Use a repository secret in a GitHub Actions workflow
Learn how to securely store and use sensitive information in GitHub Actions workflows using repository secrets.
Exercise - Publish to a GitHub Packages registry
Learn how to publish and share your code packages using GitHub Packages, making your libraries available to others.
GH-200
Exercise - Create and run a basic GitHub Actions workflow
Learn how to create and run GitHub Actions workflows to automate tasks, build projects, and run tests.
Exercise - Create the CI workflow on GitHub
Learn how to create a Continuous Integration (CI) workflow using GitHub Actions to automatically build and test your code.
Exercise - Create a workflow that deploys a web app to Azure
Learn how to create a Continuous Deployment (CD) workflow that automatically deploys your web application to Azure.
Exercise - Publish to a GitHub Packages registry
Learn how to publish and share your code packages using GitHub Packages, making your libraries available to others.
Exercise - Create a custom JavaScript GitHub action
Learn how to create custom GitHub Actions using JavaScript to extend automation capabilities and share reusable workflows.
Exercise - Use a repository secret in a GitHub Actions workflow
Learn how to securely store and use sensitive information in GitHub Actions workflows using repository secrets.
GH-300
Develop with AI-powered code suggestions by using GitHub Copilot and VS Code
Learn how to use GitHub Copilot with Visual Studio Code to get AI-powered code suggestions, write code faster, and improve your productivity.
Democratize tribal knowledge using Copilot Spaces
Learn how to use GitHub Copilot Spaces to capture, share, and democratize team knowledge across your organization.
Update a web API with GitHub Copilot
Learn how to use GitHub Copilot to update and enhance web APIs efficiently.
Develop unit tests using GitHub Copilot
Learn how to use GitHub Copilot to generate comprehensive unit tests and improve code quality through AI-assisted testing.
Expand your team with Copilot coding agent
Learn how to use GitHub Copilot's coding agent capabilities to enhance team productivity and tackle complex development tasks.
Integrate MCP with GitHub Copilot
Learn how to integrate the Model Context Protocol (MCP) with GitHub Copilot to extend its capabilities and connect to external data sources.
GitHub Copilot code review
Learn how to use GitHub Copilot to assist with code reviews, identify potential issues, and improve code quality.
Update a JavaScript portfolio with GitHub Copilot
Learn how to use GitHub Copilot to update and enhance a JavaScript portfolio website.
Update a Python web API with GitHub Copilot
Learn how to use GitHub Copilot to update and enhance a Python web API efficiently.
GH-500
Exercise - Change commit history
Learn how to modify commit history using Git commands like rebase, amend, and squash to maintain a clean project history.
Exercise - Configure Dependabot security updates
Learn how to configure Dependabot to automatically update vulnerable dependencies and keep your repository secure.
Exercise - Introduction to secret scanning
Learn how to use GitHub's secret scanning to detect and prevent the exposure of sensitive credentials in your repositories.
Exercise - Reference a CodeQL query
Learn how to reference and use CodeQL queries to perform advanced code security analysis on your repositories.
Exercise - Configure a CodeQL language matrix
Learn how to configure CodeQL analysis for multiple programming languages using a language matrix.