Skip to content

GitHub Foundations Study Plan

6-Week Study Schedule

Week 1: Git Fundamentals (Domain 1 - Part 1)

Day 1-2: Introduction to Version Control

  • Understand what version control is and why it matters
  • Learn the difference between centralized and distributed VCS
  • Install Git and configure user name/email
  • Create your first local repository with git init
  • Review Notes: notes/01-git-basics.md
  • Read: About Git

Day 3-4: Core Git Commands

  • Practice git add, git commit, git status, git log
  • Understand the working directory, staging area, and repository
  • Learn git diff to compare changes
  • Practice creating and viewing commit history
  • Practice git stash for saving work in progress
  • Read: Getting Started with Git

Day 5-6: Branching and Merging

  • Create, switch, and delete branches
  • Practice merging branches (fast-forward and 3-way merge)
  • Understand and resolve merge conflicts
  • Learn the difference between merge and rebase
  • Practice git checkout vs git switch
  • Read: About Branches

Day 7: Week 1 Review

  • Review all Git commands covered this week
  • Complete GitHub Skills: Introduction to GitHub
  • Quiz yourself on Git terminology
  • Create a cheat sheet of commands

Week 2: GitHub Platform Basics (Domain 1 - Part 2 and Domain 2)

Day 8-9: GitHub Account and Platform

  • Understand GitHub account types (Personal, Organization, Enterprise)
  • Learn GitHub plans (Free, Pro, Team, Enterprise)
  • Explore GitHub.com interface and navigation
  • Set up GitHub profile with bio and README
  • Review Notes: notes/01-git-basics.md (GitHub section)
  • Read: GitHub Plans

Day 10-11: Working with Repositories

  • Create repositories (public and private)
  • Add README.md, .gitignore, and LICENSE files
  • Practice cloning repositories
  • Understand forking and its use cases
  • Learn about repository templates
  • Review Notes: notes/02-github-repos-and-features.md
  • Read: Creating a Repository

Day 12-13: Remote Operations and Tools

  • Practice git push, git pull, git fetch
  • Understand the difference between fetch and pull
  • Explore GitHub Desktop application
  • Try GitHub Mobile app
  • Learn basics of GitHub CLI (gh)
  • Read: GitHub Desktop

Day 14: Week 2 Review

  • Review repository management concepts
  • Complete GitHub Skills: Communicate using Markdown
  • Practice creating repos with different configurations
  • Review clone vs fork differences

Week 3: Collaboration Features - Part 1 (Domain 3)

Day 15-16: Issues

  • Create issues with titles, descriptions, and labels
  • Assign issues to team members
  • Link issues to milestones
  • Create issue templates
  • Use task lists within issues
  • Practice closing issues with keywords in commits
  • Review Notes: notes/03-collaboration.md
  • Read: About Issues

Day 17-18: Pull Requests

  • Create pull requests from feature branches
  • Write effective PR descriptions
  • Create draft pull requests
  • Link PRs to issues using keywords
  • Understand PR status checks
  • Practice requesting reviews
  • Read: About Pull Requests

Day 19-20: Code Review

  • Review pull requests and leave comments
  • Use inline suggestions for code changes
  • Approve, request changes, or comment on PRs
  • Understand the review process workflow
  • Practice resolving review conversations
  • Read: Reviewing Changes

Day 21: Week 3 Review

  • Complete GitHub Skills: Review Pull Requests
  • Practice the full issue-to-PR workflow
  • Review merge strategies (merge, squash, rebase)
  • Quiz yourself on collaboration terminology

Week 4: Collaboration Features - Part 2 and Modern Development (Domains 3-4)

Day 22-23: Branch Protection and Advanced Collaboration

  • Configure branch protection rules
  • Set up required reviews and status checks
  • Create and use CODEOWNERS file
  • Understand merge strategies and when to use each
  • Learn about notifications and subscriptions
  • Review Notes: notes/03-collaboration.md
  • Read: About Protected Branches

Day 24-25: GitHub Actions Basics

  • Understand workflows, jobs, steps, and actions
  • Learn common triggers (push, pull_request, schedule)
  • Create a basic CI workflow
  • Explore the GitHub Actions Marketplace
  • Understand GitHub-hosted vs self-hosted runners
  • Review Notes: notes/04-modern-development.md
  • Read: Understanding GitHub Actions

Day 26-27: Codespaces and Copilot

  • Understand what GitHub Codespaces is
  • Learn devcontainer.json configuration basics
  • Understand Codespaces billing and usage
  • Learn GitHub Copilot features at a high level
  • Understand Copilot plans and availability
  • Read: GitHub Codespaces Overview

Day 28: Week 4 Review

  • Complete GitHub Skills: GitHub Actions
  • Review modern development tools
  • Practice writing basic workflow YAML
  • Review Codespaces and Copilot concepts

Week 5: Project Management, Security, and Community (Domains 5-7)

Day 29-30: Project Management

  • Create a GitHub Project (new style)
  • Add table, board, and roadmap views
  • Use custom fields and filters
  • Create milestones and link issues
  • Understand labels and their organization
  • Review Notes: notes/05-security-community-projects.md
  • Read: About Projects

Day 31-32: Security and Administration

  • Set up two-factor authentication (2FA)
  • Generate and use SSH keys for GitHub
  • Create personal access tokens
  • Understand Dependabot alerts
  • Learn about secret scanning and code scanning basics
  • Understand organization roles and permissions
  • Read: About 2FA

Day 33-34: Community and Open Source

  • Understand common open source licenses (MIT, Apache, GPL)
  • Learn the fork-and-PR contribution workflow
  • Create community health files (CONTRIBUTING.md, CODE_OF_CONDUCT.md)
  • Understand InnerSource concepts
  • Explore GitHub Sponsors and GitHub Stars
  • Learn about GitHub Discussions
  • Read: Contributing to Projects

Day 35: Week 5 Review

  • Review all three domains covered this week
  • Practice security setup on a test repository
  • Explore open source projects on GitHub Explore
  • Quiz yourself on license types

Week 6: Final Review and Exam Preparation

Day 36-37: Comprehensive Review

  • Review all notes files (01 through 05)
  • Revisit fact-sheet.md for quick reference
  • Focus on high-weight domains (Collaboration 30%, Git 22%)
  • Create flashcards for key concepts
  • Review all Git commands and their purposes

Day 38-39: Practice and Scenarios

  • Work through scenarios.md exam-style questions
  • Take any available practice tests
  • Review incorrect answers and identify weak areas
  • Re-read documentation for weak areas
  • Practice scenario-based thinking

Day 40-41: Final Preparation

  • Quick review of all domain summaries
  • Focus on key differentiators (fetch vs pull, fork vs clone, etc.)
  • Review merge strategies one more time
  • Ensure you know GitHub plans and account types
  • Skim official study guide one final time

Day 42: Exam Day

  • Light review of fact sheet only - no heavy studying
  • Ensure stable internet connection and quiet environment
  • Have valid government-issued ID ready
  • Close unnecessary applications on your computer
  • Take the exam with confidence

Study Tips

Time Allocation by Domain Weight

Domain Weight Suggested Hours
Collaboration Features 30% 15-20 hours
Git and GitHub 22% 12-15 hours
Modern Development 13% 7-10 hours
Security 10% 5-7 hours
Community 10% 5-7 hours
Repositories 8% 4-6 hours
Project Management 7% 4-5 hours
  • 30 min reading documentation/notes
  • 30 min hands-on practice on GitHub
  • 15 min reviewing flashcards or key concepts
  • Total: ~1.25 hours/day