Equip learners with Git & GitHub fluency across different roles, tools (CLI + Desktop), workflows, security features, and DevOps automation, supported by real projects, contribution tracking, and optional certification paths.
Each track now supports a certification milestone. Learners can prepare for GitHub Skill Badge challenges or local/internal certifications by completing the required tasks and projects.
Track | Certification Badge / Proof |
---|---|
๐ฉ Basic User | GitHub Profile + Desktop Usage Proof |
๐ฆ Beginner | GitHub Pages Live Portfolio + CLI Task Record |
๐จ Developer | GitHub Actions + Wiki + Project Board |
๐ฅ Administrator | Org Audit Log + Protected Branch Repo |
โฌ DevOps | Multi-Stage CI/CD Workflow + Runner Logs |
Optional Evaluation Tools:
- GitHub Contributions Graph (green squares)
- Repository Activity Logs
- Shared Portfolio Links
- GitHub Skills Certificate Screenshots
Use platforms like GitHub Skills to earn real badges recognized by GitHub.
Track | Focus Area | Suitable For |
---|---|---|
๐ฉ Basic User | GitHub UI, GitHub Desktop, Repos, Commits, Markdown | Non-tech users, documentation writers |
๐ฆ Beginner | CLI, Branching, Issues, Pages | Students, New coders |
๐จ Developer | Git CLI mastery, Actions, Wiki, Team Workflows | Developers |
๐ฅ Administrator | Permissions, Branch Rules, Audit Logs | Team leads, Managers |
โฌ DevOps | CI/CD, Actions, Secrets, Self-hosted runners | DevOps Engineers |
- GitHub Desktop Basics
- Creating and cloning repos
- Editing Markdown (README.md)
- Adding .gitignore files
- Writing Wiki Pages
- Understand the GitHub interface
- Use GitHub Desktop to manage repositories
- Create and edit Markdown files
- How to install GitHub Desktop
- How to create a GitHub repository
- How to edit and preview Markdown
- What is
.gitignore
- Create a repository with README
- Clone with GitHub Desktop
- Edit README with Notepad++
- Commit and push changes
- Share screenshot of GitHub Desktop commit history
- Profile showing first contribution
-
Git Installation & Config
-
CLI basics: clone, add, commit, push
-
Branching, merging
-
Forking, pull requests
-
GitHub Pages
-
GitHub Profile README
-
Learn GitHub Pages and Jekyll Basics
- What is GitHub Pages
- What is Jekyll and how it works
- Creating
_posts
and using themes - Using
README.md
vs_posts
- Understand branching & collaboration
- Host a basic website using GitHub Pages
- Use Jekyll to build a blog or portfolio
- Use PRs and forks effectively
- Git CLI basic commands
- How to fork a repository
- How to create a pull request
- GitHub Pages hosting for portfolios
- Jekyll themes, layouts,
_config.yml
- What is frontmatter in Jekyll posts
- Personal Portfolio Repo
- Use
main
anddev
branches - Add a blog post using Jekyll
- Live GitHub Pages site link
- Jekyll blog post in
_posts/
- Proof of fork + PR in public repo
- Semantic commits
- Conflict resolution
- GitHub Actions workflows
- Unit testing and CI/CD
- GitHub Projects and Wiki
- Automate workflows
- Maintain clean commit history
- Write documentation and manage tasks
- Git rebase vs merge
- How to write GitHub Actions
- How to write unit tests in Python with unittest
- Using GitHub Wiki
- Using GitHub Projects for Kanban
- CLI Network Scanner
- Wiki Documentation + Open Issues
- GitHub Actions for tests
- GitHub Actions Workflow + Test Report
- Public Wiki with project docs
- Repo Settings & Permissions
- Collaborators vs Teams
- Branch protection rules
- 2FA enforcement
- Audit logs and activity tracking
- Secure and control repo access
- Monitor organization activity
- Apply best practices for team management
- How to add collaborators
- How to create GitHub Teams
- Enabling branch protection rules
- How to enable 2FA on GitHub
- Viewing the audit log
- Create org, add members
- Enforce 2FA
- Setup branch protection
- Org repo with branch protection rules
- Screenshot of 2FA enforcement settings
- GitHub Actions YAML syntax
- Environments and secrets
- Self-hosted runners
- CD to production environments
- Slack/webhook notifications
- Build CI/CD pipelines
- Secure deployments with secrets
- Notify teams on deployment status
- How to use GitHub secrets
- Multi-environment workflows
- Self-hosted runners setup
- GitHub Actions webhook notifications
- Python App with staging/prod pipeline
- Slack/Telegram alert via webhook
- Share GitHub Actions logs + runner output
- Document CI/CD stages in README
Phase | Recommended Duration | Output |
---|---|---|
Phase 1: Setup & CLI Fluency | 1โ2 Weeks | Push 2+ projects using CLI/Desktop |
Phase 2: Collaboration & Markdown | 1 Week | Portfolio + Dev Branch PRs |
Phase 3: GitHub Pages + Actions | 2 Weeks | Live portfolio + CI workflows |
Phase 4: Admin Tools Mastery | 1 Week | Secure organization repo |
Phase 5: DevOps & Automation | 2โ4 Weeks | CI/CD pipelines, secrets, runners |
Item | Requirement |
---|---|
GitHub Profile README | Markdown with badges, links |
5+ Pushed Repos | With README, screenshots |
GitHub Pages Portfolio | Hosted HTML/CSS project |
GitHub Actions | At least 1 functional .yml |
Security | 2FA enabled, branch rules set |
Collaboration | Pull Request merged, Issue closed |
Documentation | Internal Wiki for at least 1 repo |
Admin Tools | Org created, roles assigned, audit tested |
Term | Also Called | Description |
---|---|---|
Commit | Save, Snapshot | Records changes to files in your local Git repo. Doesnโt send to GitHub yet. |
Push | Upload, Sync | Sends your local commits to the remote repository (e.g., GitHub). |
Pull | Get Latest, Download Changes, Sync | Retrieves the latest changes from the remote repo and merges into your current branch. |
Fetch | Check for Changes | Gets the latest changes from remote without merging. Useful for seeing whatโs new before merging. |
Merge | Combine | Integrates changes from one branch into another (e.g., from dev to main ). |
Branch | Feature Branch, Dev Copy | A separate line of development. Allows isolated work without affecting main . |
Checkout | Switch | Moves you to a different branch or commit. |
Clone | Download Repo | Creates a local copy of a remote GitHub repo. |
Fork | Copy Repo | Creates a personal copy of someone elseโs GitHub repo (under your account). Used for contributing. |
Pull Request (PR) | Merge Request, Code Review | Proposes changes from one branch (usually a fork) to another branch in the main repo. |
Stash | Save Work Temporarily | Temporarily saves uncommitted changes without committing them. |
Revert | Undo Commit | Creates a new commit that undoes the changes of a previous commit. |
Reset | Discard Changes | Moves HEAD and optionally discards commits or staged changes. Use with care. |
HEAD | Current Snapshot | Represents the latest commit on the current branch. Think of it as "where you are" in the repo history. |
Origin | Remote | The default name for the remote GitHub repository. |
Remote | Online Repo | A Git repo hosted on GitHub or elsewhere, usually named origin . |
Upstream | Source Repo | Often refers to the original repo when you forked a project and want to sync your fork. |
Conflict | Merge Clash | Happens when Git canโt auto-merge changes between branches. Must be resolved manually. |
Diff | Changes, Difference | Shows what changed between commits, branches, or files. |
.gitignore | Ignore Rules | A file specifying what files/folders Git should ignore (not track). |
Rebase | Replay Commits | Re-applies commits on top of another base commit. Cleaner history but riskier than merge. |
- "Push" โ Save. Git requires you to
commit
first, thenpush
. - "Pull" does both
fetch
andmerge
โ so if you only want to see changes without applying them, usefetch
. - โGet Latest Versionโ is often a pull in Git terms (especially in GUI tools).
- GitHub Desktop simplifies these concepts under โPublish branchโ, โPush originโ, โFetch originโ, etc. โ always check what action itโs performing under the hood.
What is a GitHub repository (repo)?
A project space that contains your codebase, version history, issues, pull requests, and collaboration tools.
Whatโs the difference between fork and clone?
- Fork: Creates a copy under your GitHub account (used to contribute to other projects).
- Clone: Downloads a copy to your local machine for development.
What does Code Checkout mean?
It refers to checking out (switching to) a specific branch or commit in a repo.
What is a commit in Git? (aka Code Commit or Code Check-in)
A saved snapshot of code changes. Often called check-in in corporate tools like TFS/Azure DevOps.
What is the difference between commit, push, and check-in?
Term | Git Meaning | Also Known As |
---|---|---|
Commit | Save locally | Code check-in |
Push | Upload to GitHub | Code push |
Pull | Get latest from remote | Get Latest, Sync |
Fetch | Get changes (no apply) | Update status |
What is a .gitignore
file?
A file that tells Git which files/folders to skip (e.g.,
node_modules/
,.env
, etc.)
What is a merge? What is a rebase?
- Merge: Combines two branches' histories and content.
- Rebase: Moves commits onto a new base, resulting in a linear history.
What is HEAD in Git?
It points to your current commit/branch location โ think of it as "you are here."
What is a Pull Request (PR)?
A formal request to merge your code changes into another branch or repo (usually
main
ordev
).
What is a contribution on GitHub?
Any visible action tracked by GitHub: commits, pull requests, issue comments, wiki edits, etc.
What is a collaborator vs contributor?
- Collaborator: Added by repo admin with write access.
- Contributor: Anyone who contributed via PR, issue, etc.
What is meant by โGet Latestโ or โSync Repoโ?
These usually refer to pulling the latest commits from the remote repo.
What is a conflict in Git?
Happens when Git canโt auto-merge code and asks the user to manually choose which version to keep.
Why is 2FA important on GitHub?
It adds an extra layer of security to prevent unauthorized access.
What is a Branch Protection Rule?
Settings that prevent force pushes, require PR reviews, or enforce CI before merging into important branches.
What is Dependabot?
GitHubโs tool that scans for security vulnerabilities in dependencies and suggests automatic updates.
What is GitHub Actions?
A CI/CD tool built into GitHub that lets you automate workflows for build, test, and deployment.
What is a .yml
or .yaml
file in GitHub Actions?
A configuration file that defines when and how your workflows should run (e.g., on every push).
Whatโs the difference between GitHub-hosted and self-hosted runners?
- GitHub-hosted: Free machines provided by GitHub.
- Self-hosted: Your own machine executes workflow jobs.
What is Continuous Integration (CI)? What is Continuous Deployment (CD)?
- CI: Automatically testing and integrating code on every push or PR.
- CD: Automatically releasing changes to production after CI succeeds.
Git Term | Also Known As | Seen In |
---|---|---|
commit | check-in, snapshot | Git, TFS, Azure DevOps |
push | upload, publish | Git, GitHub, GitLab |
pull | sync, get latest | GitHub Desktop, Azure DevOps |
branch | feature copy, stream | Git |
PR | merge request | GitHub, GitLab, Bitbucket |
revert | undo, rollback | Git |
HEAD | current pointer | Git internals |
stash | temp save | Git |
origin | remote repo | Git |
fetch | check updates | Git |
Tool | Purpose |
---|---|
GitHub Skills | Real GitHub courses |
Git CLI Simulator | Visual Git training |
Git-it App | Interactive Git tasks |
Pages Playground | GitHub Pages hosting |
Actions Playground | CI/CD starter kits |
Markdown Preview | Live Markdown writing |
Let this guide evolve as your contributors grow from learners to mentors. ๐งโ๐ปโจ