GH-900: GitHub Foundations



LOCATION | May | June | July | August |
---|---|---|---|---|
Auckland | ||||
Hamilton | ||||
Christchurch | ||||
Wellington | ||||
Virtual Class |
GitHub Foundations introduces you to the fundamental concepts, features, and products of GitHub. You’ll discover the benefits of using GitHub as a collaborative platform and explore its core features, such as repository management, commits, branches, and merging. Through curated modules and hands-on exercises, you’ll gain a solid understanding of GitHub’s essential tools and be well-equipped to start contributing to projects and collaborating effectively within GitHub.
This course is intended for students who want to understand GitHub and its best practices.
Fundamental knowledge about Azure, version control, Agile software development, and core software development principles. It would be helpful to have experience in an organization that delivers software.
By the end of this course, students will be able to
- Understand Git and distributed version control.
- Manage repositories using GitHub.
- Utilize GitHub Copilot for AI-powered coding.
- Collaborate using GitHub Projects and Codespaces.
- Contribute to open-source projects.
- Ensure repository security with GitHub best practices.
- Administer GitHub organizations and manage user access.
- Introduction to Git
- 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
- Lab: Try out Git
- Introduction to GitHub
- Identify the fundamental features of GitHub.
- Learn about repository management.
- Gain an understanding of the GitHub flow, which includes 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.
- Lab: A guided tour of GitHub
- Introduction to GitHub's products
- 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.
- Configure code scanning on GitHub
- 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).
- Introduction to GitHub Copilot
- Learn how GitHub Copilot can help you code by offering autocomplete-style suggestions.
- Learn about the various ways to trigger GitHub Copilot.
- Learn about the differences among GitHub Copilot Individual, Business, and Enterprise.
- Learn how to configure GitHub Copilot.
- Troubleshoot GitHub Copilot.
- Lab: Develop with AI-powered code suggestions by using GitHub Copilot and VS Code
- Code with GitHub Codespaces
- 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.
- Lab: Code with Codespaces and Visual Studio Code
- Manage your work with GitHub Projects
- 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.
- Communicate effectively on GitHub using Markdown
- 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).
- Lab: Communicate using Markdown.
- 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.
- Lab: Create your first pull request
- Manage an InnerSource program by using GitHub
- 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.
- Lab: InnerSource fundamentals
- Maintain a secure repository by using GitHub best practices
- 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.
- Lab: Secure your repository's supply chain
- Introduction to GitHub administration
- 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.
- Authenticate and authorize user identities on GitHub
- 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.
- Manage repository changes by using pull requests on GitHub
- 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.
- Lab: Reviewing pull requests
- Search and organize repository history by using GitHub
- Find relevant issues and pull requests.
- Search history to find context.
- Make connections within GitHub to help others find things.
- Lab: Connect the dots in a GitHub repository
- Using GitHub Copilot with Python
- 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.
- Lab: Set up GitHub Copilot to work with Visual Studio Code
- Lab: Update a Python web API with GitHub Copilo