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 diffto compare changes - Practice creating and viewing commit history
- Practice
git stashfor 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 checkoutvsgit 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 |
Recommended Daily Schedule¶
- 30 min reading documentation/notes
- 30 min hands-on practice on GitHub
- 15 min reviewing flashcards or key concepts
- Total: ~1.25 hours/day