Skip to content

GitHub Foundations Certification Fact Sheet

Exam Overview

Exam Name: GitHub Foundations Duration: 120 minutes Questions: 75 multiple choice questions Passing Score: 70% Cost: $99 USD Delivery: Online proctored Prerequisites: None Validity: 3 years

Official Exam Page - Registration and details GitHub Foundations Study Guide - Official study guide GitHub Skills - Interactive learning paths

Target Audience

This certification is designed for: - Developers new to GitHub and version control - Students and early-career professionals - Project managers and team leads using GitHub - Anyone seeking to validate GitHub platform knowledge - Professionals transitioning to collaborative development

Domain 1: Introduction to Git and GitHub (22%)

Git Basics

Core Concepts: - Repository - A directory tracked by Git containing project files and history - Commit - A snapshot of changes with a message, author, and timestamp - Branch - A lightweight movable pointer to a commit - HEAD - A pointer to the current branch/commit you are working on - Remote - A version of the repository hosted on a server (e.g., GitHub) - Working directory - The files you see and edit on your local machine - Staging area (index) - A holding area for changes to be included in the next commit

Git Handbook - Git fundamentals Git Cheat Sheet - Quick reference for commands

Essential Git Commands: | Command | Purpose | |---------|---------| | git init | Initialize a new repository | | git clone <url> | Copy a remote repository locally | | git add <file> | Stage changes for commit | | git commit -m "message" | Create a commit with staged changes | | git push | Upload local commits to remote | | git pull | Fetch and merge remote changes | | git fetch | Download remote changes without merging | | git branch | List, create, or delete branches | | git checkout / git switch | Switch between branches | | git merge | Combine branch histories | | git rebase | Reapply commits on top of another base | | git status | Show working directory status | | git log | View commit history | | git diff | Show changes between commits/working directory | | git stash | Temporarily save uncommitted changes | | git reset | Unstage or undo commits |

Using Git - Comprehensive Git guide About Git - Git overview

Git vs GitHub

Feature Git GitHub
Type Version control system Cloud platform
Hosting Local Cloud-hosted
Collaboration Basic (patches, email) Rich (PRs, issues, reviews)
UI Command line Web interface + CLI
Extras None Actions, Projects, Security

About GitHub - GitHub and Git relationship

GitHub Account Types and Plans

Feature Free Pro Team Enterprise
Public repos Unlimited Unlimited Unlimited Unlimited
Private repos Unlimited Unlimited Unlimited Unlimited
Collaborators Unlimited Unlimited Unlimited Unlimited
Actions minutes 2,000/mo 3,000/mo 3,000/mo 50,000/mo
Packages storage 500 MB 2 GB 2 GB 50 GB
Code review tools Basic Advanced Advanced Advanced
SAML SSO No No No Yes
Advanced audit No No No Yes

GitHub Plans - Plan comparison Account Types - Personal, Organization, Enterprise

GitHub Mobile and Desktop

  • GitHub Mobile - iOS and Android app for managing notifications, issues, PRs on the go
  • GitHub Desktop - GUI application for Git operations without command line
  • GitHub CLI (gh) - Command-line tool for GitHub operations

GitHub Mobile - Mobile app features GitHub Desktop - Desktop application guide GitHub CLI - CLI tool documentation

Domain 2: Working with GitHub Repositories (8%)

Repository Management

Creating Repositories: - New repositories can be created via web, CLI, API, or Desktop - Choose visibility: public, private, or internal (organizations only) - Initialize with README, .gitignore, and license

Key Repository Files: | File | Purpose | |------|---------| | README.md | Project description and documentation | | .gitignore | Files/directories to exclude from tracking | | LICENSE | Open source license terms | | CODEOWNERS | Automatic review assignment rules | | CONTRIBUTING.md | Contribution guidelines | | CODE_OF_CONDUCT.md | Community behavior standards | | SECURITY.md | Security vulnerability reporting | | FUNDING.yml | Sponsorship configuration |

Creating a Repository - Step-by-step guide About READMEs - README best practices Licensing a Repository - License guide

Clone vs Fork

Aspect Clone Fork
Creates Local copy Server-side copy under your account
Link to original Direct remote Upstream relationship
Use case Direct collaboration Contributing to others' repos
Push access Requires permissions Always (to your fork)
Stays synced Via pull/fetch Manual sync required

Cloning a Repository - Clone guide Fork a Repository - Fork guide

GitHub Pages

  • Free static site hosting directly from a repository
  • Supports custom domains and HTTPS
  • Can use Jekyll or custom static site generators
  • Source can be from root, /docs folder, or gh-pages branch

GitHub Pages - Pages documentation

Domain 3: Collaboration Features (30%)

Issues

  • Track bugs, feature requests, tasks, and discussions
  • Support labels, assignees, milestones, and projects
  • Can be linked to pull requests using keywords (fixes, closes, resolves)
  • Templates can be created for consistent issue reporting
  • Support task lists with checkboxes

About Issues - Issues overview Creating an Issue - Issue creation Linking a PR to an Issue - Auto-closing issues

Pull Requests

Lifecycle: 1. Create a branch from the base branch 2. Make commits with changes 3. Open a pull request 4. Request reviewers and address feedback 5. Pass required checks (CI, code review) 6. Merge the pull request 7. Delete the feature branch (optional)

PR Features: - Draft pull requests - signal work in progress - Review requests - assign specific reviewers - Code review comments - inline suggestions - Suggested changes - propose specific code changes - Status checks - automated CI/CD validation - Auto-merge - merge when all conditions are met

About Pull Requests - PR overview Creating a Pull Request - PR creation Reviewing Changes - Code review guide

Merge Strategies

Strategy Result History Use Case
Merge commit Creates merge commit Preserves all commits Default, preserves context
Squash and merge Single commit Clean linear history Feature branches with many small commits
Rebase and merge Replays commits Linear history Clean history without merge commits

About Merge Methods - Merge strategies

Branch Protection Rules

  • Require pull request reviews before merging
  • Require status checks to pass before merging
  • Require signed commits
  • Require linear history
  • Restrict who can push to matching branches
  • Require conversation resolution before merging
  • Lock branch (read-only)

Branch Protection Rules - Protection settings CODEOWNERS - Automatic review assignment

GitHub Markdown

Essential syntax for communication on GitHub: - Headers, bold, italic, strikethrough - Lists (ordered, unordered, task lists) - Links and images - Code blocks and syntax highlighting - Tables - Alerts/admonitions (Note, Warning, Important) - Mermaid diagrams - Mathematical expressions (LaTeX) - Emoji shortcodes

Basic Formatting Syntax - Markdown reference GitHub Flavored Markdown - GFM specification

Domain 4: Modern Development (13%)

GitHub Actions Basics

  • Workflow - Automated process defined in YAML, stored in .github/workflows/
  • Event/Trigger - What starts the workflow (push, pull_request, schedule, etc.)
  • Job - A set of steps that run on a single runner
  • Step - An individual task (runs a command or an action)
  • Action - A reusable unit of code from the Marketplace or custom
  • Runner - The machine that executes the workflow (GitHub-hosted or self-hosted)

Understanding GitHub Actions - Actions overview Workflow Syntax - YAML reference GitHub Marketplace - Actions marketplace

GitHub Codespaces

  • Cloud-hosted development environment
  • Accessible via browser or VS Code
  • Pre-configured with devcontainer.json
  • Includes default tools, SDKs, and extensions
  • Billed per compute and storage usage
  • Supports port forwarding and dotfiles

GitHub Codespaces Overview - Codespaces documentation

GitHub Copilot Basics

  • AI-powered code completion tool
  • Integrates with VS Code, JetBrains, Neovim, and more
  • Provides code suggestions, chat, and explanations
  • Available in Individual, Business, and Enterprise plans

GitHub Copilot - Copilot documentation

Domain 5: Project Management (7%)

GitHub Projects

New Projects (recommended): - Flexible table, board, and roadmap views - Custom fields (text, number, date, single select, iteration) - Built-in workflows for automation - Supports cross-repository tracking - Insights and charts

Classic Projects: - Kanban-style boards - Limited to a single repository or organization - Being superseded by new Projects

About Projects - Projects overview Quickstart for Projects - Getting started

Milestones

  • Group issues and PRs into milestones with due dates
  • Track progress as percentage complete
  • Useful for release planning and sprint tracking

About Milestones - Milestones guide

Domain 6: Privacy, Security, and Administration (10%)

Authentication

  • Two-factor authentication (2FA) - Required for all GitHub.com accounts
  • SSH Keys - Secure authentication for Git operations
  • Personal Access Tokens (PATs) - Token-based API/CLI authentication
  • GPG/SSH Signing - Verify commit authorship
  • SAML SSO - Enterprise single sign-on (Enterprise plan)

About 2FA - 2FA setup SSH Keys - SSH configuration Personal Access Tokens - PAT management

Security Features

  • Dependabot alerts - Notify about vulnerable dependencies
  • Secret scanning - Detect exposed secrets in repositories
  • Code scanning - Find potential security vulnerabilities in code
  • Security advisories - Report and manage security vulnerabilities
  • Security policy - SECURITY.md file for vulnerability reporting

Dependabot Alerts - Dependency vulnerability alerts Secret Scanning - Secret detection Code Scanning - Code analysis

Organization Management

  • Roles: Owner, Member, Billing Manager, Outside Collaborator
  • Teams: Group members with cascading access permissions
  • Repository permissions: Read, Triage, Write, Maintain, Admin
  • Audit log: Track organization activity

Organization Roles - Role permissions Managing Teams - Team management

Domain 7: Benefits of the GitHub Community (10%)

Open Source

Common Licenses: | License | Type | Key Feature | |---------|------|-------------| | MIT | Permissive | Simple, minimal restrictions | | Apache 2.0 | Permissive | Patent protection included | | GPL v3 | Copyleft | Derivative work must be GPL | | BSD ⅔ | Permissive | Similar to MIT | | LGPL | Weak copyleft | Libraries can be linked freely | | Unlicense | Public domain | No restrictions whatsoever |

Choose a License - License comparison tool Open Source Guide - GitHub's open source guide

Contributing to Open Source

  1. Find a project (GitHub Explore, Topics, Good First Issues)
  2. Read CONTRIBUTING.md and CODE_OF_CONDUCT.md
  3. Fork the repository
  4. Create a feature branch
  5. Make changes and commit
  6. Open a pull request
  7. Address review feedback

Contributing to Projects - Contribution guide GitHub Explore - Discover projects

InnerSource

  • Applying open source practices within an organization
  • Internal collaboration across teams and departments
  • Shared codebases with internal visibility
  • Benefits: reduced duplication, faster development, knowledge sharing

InnerSource Introduction - InnerSource fundamentals

Community Features

  • GitHub Sponsors - Fund open source maintainers
  • GitHub Stars - Recognize community contributors
  • GitHub Discussions - Forum-style conversations in repositories
  • Community profiles - Health score for repositories

GitHub Sponsors - Sponsorship program GitHub Discussions - Discussions feature

Exam Tips

High-Priority Topics (by weight)

  1. Collaboration Features (30%) - Master issues, PRs, code review
  2. Git and GitHub (22%) - Know all Git commands and concepts
  3. Modern Development (13%) - Understand Actions, Codespaces, Copilot basics
  4. Security (10%) - Know 2FA, SSH, basic security features
  5. Community (10%) - Understand open source, licenses, InnerSource
  6. Repositories (8%) - Repository management essentials
  7. Project Management (7%) - Projects, milestones, labels

Key Differentiators to Remember

  • git fetch downloads but does NOT merge; git pull does both
  • Fork creates a server-side copy; clone creates a local copy
  • Squash merge creates one commit; merge commit preserves all
  • Issues track work; Discussions are for conversations
  • Classic Projects are per-repo; new Projects are cross-repo
  • Personal Access Tokens (classic) vs fine-grained tokens
  • GitHub-hosted runners vs self-hosted runners