Git & GitHub Practitioner Curriculum
77 guidesAgent-executable git how-to recipes across structured engineering modules.
About this curriculum
Master version control, cryptographic SSH authentication, branching workflows, team PR review hygiene, enterprise governance, and agent-executable CI/CD across structured engineering guides.
Rather than treating Git as a grab bag of memorized terminal flags, this curriculum organizes version control mechanics into an end-to-end engineering lifecycle designed for human developers and autonomous AI coding agents alike.
Stay Updated
Get weekly AI & infrastructure insights.
1Module 1: Quickstart & First Steps
Foundational workspace onboarding, local terminal setup, and initial repository scaffolding.
How to Execute GitHub Hello World Quickstart
Walk the GitHub hello-world quickstart: create the repo, open a branch, commit a file, open a pull request, and merge it so the PR loop is muscle memory.
How to Set Up GitHub CLI and Initialize a Workspace
Configure your Git identity, authenticate the GitHub CLI with SSH keys, and verify a reproducible developer environment.
Configure a Personal GitHub Account Safely
Configure a personal GitHub account for secure development: 2FA, SSH keys, and the settings worth doing once so an agent cannot silently widen access.
How to Enable and Test GitHub Feature Previews
Turn on GitHub Feature Preview flags, test the beta UI or API on a throwaway repo, and note what to disable if the experiment breaks your workflow.
2Module 2: Local Git Configuration & Environment
Configuring the developer machine: binaries, identity attribution, editor bindings, and line endings.
How to Install and Configure Git for Production
Install Git on Linux, macOS, and Windows, configure global defaults, set main branch naming, and establish production line ending rules.
How to Set and Verify Git Username and Email
Configure Git user identity globally and per-repository, configure GitHub noreply privacy emails, and verify commit attribution.
How to Associate Default Text Editors with Git
Configure VS Code, Cursor, Nano, Vim, and Sublime Text as your default Git editor for commits, interactive rebases, and diffs.
How to Handle Cross-Platform Git Line Endings
Configure core.autocrlf and repository .gitattributes to prevent line ending conflicts between Windows, macOS, and Linux.
3Module 3: Cryptographic Authentication & Credential Security
SSH keys, credential helpers, keychain integration, and firewall network rules.
How to Connect Securely to GitHub Repositories
Connect to GitHub over SSH or HTTPS with a stored credential, then prove the remote with a fetch so the first push is not a surprise auth failure.
How to Cache and Store Git Credentials Securely
Configure Git Credential Manager, credential caching helpers, and encrypted secret storage for non-interactive development.
How to Fix Repeated Git Credential Prompts
Stop Git from asking for a password on every push: repair the credential helper, fix HTTPS remotes, and replace a stale token first.
How to Manage Git Credentials in macOS Keychain
Store GitHub credentials in the macOS Keychain via osxkeychain, then update or clear them when a token expires instead of fighting repeated login prompts.
How to Allowlist Network Access for GitHub Services
Configure corporate firewalls, egress proxies, and CIDR IP allowlists for GitHub API, Git transport, and Actions runners.
How to Troubleshoot GitHub Connectivity Problems
Diagnose and resolve SSH timeouts, HTTPS proxy errors, SSL certificate inspection issues, and DNS lookup failures for GitHub.
4Module 4: Remote Repositories & Architecture Workflows
Remote tracking branches, refspecs, workflow architectures, and ignore hygiene.
How to Understand and Structure Git Remote Repositories
Understand Git remote architecture, track upstream origins, configure multiple remote endpoints, and manage distributed topologies.
How to Manage and Sync Git Remote Repositories
Add, rename, remove, update URLs, and synchronize branches across remote repositories using deterministic Git CLI commands.
How to Choose and Architect Git Workflows
Compare Centralized, Feature Branch, GitFlow, and Fork-and-Pull Git architectures to select the optimal model for your team.
How to Configure Gitignore and Untrack Files
Write robust .gitignore patterns, create global ignore rules, and untrack accidentally committed sensitive files from Git cache.
How to Use the Essential Git and GitHub Cheatsheet
Master high-yield Git commands, branch operations, stash workflows, history inspection, and GitHub CLI automation shortcuts.
5Module 5: Project Scaffolding & Local-Remote Sync
Initializing projects via CLI, authenticated clones, and branch push workflows.
How to Create a GitHub Repo and Scaffold a Web Project
Create a GitHub repo, set the default branch, and scaffold starter web files so the first commit is a runnable project, not an empty README.
How to Clone and Sync GitHub Repositories Locally
Clone a GitHub repo with Desktop or SSH, fetch on a schedule, and keep local branches in sync without losing uncommitted work or rewriting shared history.
How to Branch, Commit, and Push Code on GitHub
Create a feature branch, write small conventional commits, and push a tracking branch to GitHub without force-pushing over work you have not reviewed.
6Module 6: Production Collaboration & Review Hygiene
GitHub Flow, issue planning, asynchronous discussion, PR review, and mobile triage.
How to Implement GitHub Flow in Production
Run GitHub Flow in production: short-lived branches, required reviews, continuous delivery on green checks, and delete the branch the moment it merges.
Plan Features with GitHub Issues and Projects
Plan software features with GitHub Issues and Projects so the work is visible before an agent starts coding. Tickets, not chat, should own the scope.
How to Collaborate and Communicate on GitHub
Master asynchronous engineering communication using GitHub Discussions, Issue templates, PR review threads, and notification filters.
How to Review Pull Requests and Merge Cleanly
Review pull requests like a gate: read the diff, resolve threads, and merge with squash or rebase so main stays linear and the history stays explainable.
How to Triage and Review Code with GitHub Mobile
Approve pull requests, triage issues, and unblock CI/CD deployments from your phone. Optimize mobile workflows with GitHub Mobile on iOS and Android.
How to Configure Supported Browsers for GitHub
Ensure browser compatibility, configure WebAuthn passkey support, and resolve Content Security Policy requirements for GitHub.com.
7Module 7: Enterprise Governance, Security & Networking
Team organization architecture, enterprise cloud trials, SAML/SCIM, and audit logging.
How to Set Up and Manage a GitHub Team Organization
Set up a GitHub Team org with nested teams, role-based access, and required branch protections so new repos inherit the same review rules.
How to Provision and Test a GitHub Enterprise Cloud Trial
Provision a 30-day GitHub Enterprise Cloud trial, configure enterprise accounts, and validate advanced security controls.
How to Architect and Administer GitHub Enterprise Cloud
Architect GitHub Enterprise Cloud with SAML SSO, org-wide policies, and audit-log streaming so admin work stays reviewable instead of ticket archaeology.
8Module 8: Automation, CI/CD & Continuous Learning
Automating builds with GitHub Actions, Pages deployment, and deliberate CLI drill practices.
How to Deploy Web Projects with GitHub Actions and Pages
Automate static site deploys with GitHub Actions: build on every push, fail closed on a broken check, and publish only verified artifacts to GitHub Pages.
How to Build a Continuous Git and GitHub Learning Stack
Build a continuous Git learning stack: sandbox repos for safe drills, reflog recovery practice, and official GitHub training you can repeat weekly.
9Module 9: AI Pair Programming & Modern Developer Workflows
Accelerating development with GitHub Copilot, prompt debugging, code reuse, and modern IDE scaffolding.
Set Up VS Code for a First Vibe Coding Project
Beginner-safe VS Code setup: open one project folder, keep Workspace Trust on, sign into the GitHub account with Copilot, and prove suggestions work.
Set up GitHub Copilot for learning
Optimize GitHub Copilot for active learning and rapid scaffolding. Configure inline completions, custom instructions, and Copilot Chat error debugging.
Get started with Git for first commits
Master the 3 stages of Git: working directory, staging area, and commit history. Understand git add, git commit, and git status without confusion.
Find and understand example code on GitHub
Search GitHub like an expert builder. Use precision search qualifiers (path, language, stars) to find clean, modern open-source reference implementations.
Reuse other people's code in your projects
Incorporate open-source code into your AI projects responsibly. Understand MIT vs. Apache vs. GPL licenses, attribution rules, and commercial safety.
Develop your GitHub project locally
Clone GitHub's client-side example, install Node.js from nodejs.org, run npm install, start the dev server with npm start, and preview on localhost:8080.
Debug Python with GitHub Copilot
Clone GitHub's debug-with-copilot repo, reproduce a TypeError and a bad factorial, ask Copilot Chat, apply the patch, and prove fail-then-pass in Python.
Get Copilot feedback on your code
Create GitHub's grid-toy from template, ask Copilot to critique working JS, open a PR, request Copilot review, apply the classList fix, and verify.
10Module 10: Code Security, Secrets & Vulnerability Management
Automating vulnerability detection with CodeQL, Dependabot alert triage, and repository secret storage.
Store secrets safely in GitHub Actions
Practice safe secret handling with GitHub push protection, create a least-privilege personal access token, and store it as an encrypted Actions secret.
Find and fix your first CodeQL alert
Fork GitHub's code-scanning demo, enable CodeQL default setup with gh, list the reflected XSS alert, apply Copilot Autofix via API, and merge after review.
Find and fix your first Dependabot alert
Fork the Dependabot demo, enable alerts and security updates with gh, merge the hot-formula-parser lockfile PR, then add version updates.
11Module 11: GitHub Flavored Markdown & Rich Documentation
Mastering GFM formatting, rich tables, syntax-highlighted code blocks, Mermaid diagrams, mathematical expressions, and tasklists.
Quickstart for writing Markdown on GitHub
Post a GitHub Markdown scratch issue with headings, images, quotes, and hidden comments via gh CLI, then verify the stored body with gh issue view.
About writing and formatting on GitHub
Map where GitHub Flavored Markdown applies across issues, PRs, wikis, and README files, then prove each surface with sub-5s gh api checks.
How to use GitHub Markdown syntax
Post GitHub Markdown headings through alerts with gh --body-file, then prove each stored construct using gh issue view --json.
How to organize GitHub Markdown tables
Post GitHub pipe tables with headers, alignment, and escaped pipes via gh --body-file, then prove the stored Markdown with gh issue view --json.
How to use collapsed sections on GitHub
Post GitHub collapsed sections with details, summary, and open via gh --body-file, then grep the stored tags with gh issue view --json.
How to create and highlight GitHub code blocks
Post GitHub fenced code blocks, language identifiers, and nested fences via gh --body-file, then prove stored markers with gh issue view --json.
How to create diagrams on GitHub
Post GitHub mermaid, geojson, topojson, stl, and vega-lite fences via gh --body-file, then prove stored identifiers with gh issue view --json.
How to write mathematical expressions on GitHub
Post GitHub MathJax inline and display delimiters via gh --body-file, then prove stored math source with gh issue view --json.
How to use GitHub autolinked references
Post GitHub URL, issue, SHA, @mention, and custom autolink tokens via gh --body-file, then prove stored source with gh issue view --json.
How to attach files on GitHub issues
Store a tiny SVG and text file via gh api, post image and link Markdown with --body-file, then prove stored syntax with gh issue view --json.
How to use GitHub Markdown tasklists
Write GitHub task list Markdown with gh --body-file, then prove stored - [ ] and - [x] checkboxes using gh issue view --json.
How to create GitHub code permalinks
Pin a 40-char SHA blob permalink with #Lstart-Lend, post it via gh --body-file, then prove the stored URL with gh issue view --json.
12Module 12: Developer Productivity, Saved Replies & Gists
Streamlining issue management with keywords and saved replies, and sharing reproducible snippets via GitHub Gists.
How to use GitHub issue keywords
Automatically close GitHub issues on merge using Fixes, Closes, and Resolves keywords. Link commit messages and PR bodies cleanly in Cursor and GitHub CLI.
How to understand GitHub saved replies
Speed up issue triage and bug feedback with GitHub saved replies. Create reusable comment templates for bug reproduction requests and common PR reviews.
How to create a GitHub saved reply
Create custom GitHub saved replies to streamline recurring issue responses and code reviews. Set up templated answers via GitHub settings or GitHub CLI.
How to edit a GitHub saved reply
Update and refine existing GitHub saved replies to keep documentation links and triage templates accurate. Edit saved replies via settings or GitHub CLI.
How to delete a GitHub saved reply
Clean up deprecated or redundant GitHub saved replies. Delete obsolete comment templates through account settings or automated GraphQL scripts.
How to use a GitHub saved reply
Apply GitHub saved replies to triage issues and review PRs in seconds. Use keyboard shortcuts and the comment toolbar to insert reusable snippets.
How to create GitHub gists with gh CLI
Create public and secret GitHub Gists directly from Cursor or terminal using GitHub CLI (gh). Share isolated snippets, logs, and configurations instantly.
How to fork and clone GitHub gists
Clone and fork GitHub Gists locally using Git and GitHub CLI. Edit, version-control, and push updates to standalone snippets and utility scripts.
How to star GitHub gists with gh api
Star and organize useful GitHub Gists directly via GitHub CLI and API. Bookmark reusable snippets, setup scripts, and prompt templates for fast retrieval.
How to moderate GitHub gist comments
Moderate and delete spam comments on GitHub Gists using the GitHub CLI API. Manage discussions, maintain clean snippets, and audit comment threads.
13Module 13: Advanced Git Mechanics & History Manipulation
Mastering interactive rebasing, non-fast-forward resolutions, subtree merges, ref formatting, and handling large pushes.
How to fix the 2 GiB Git push limit
Fix GitHub 2 GiB push limits and 100 MB file rejections. Track large assets with Git LFS and purge accidental heavy files from commit history cleanly.
How to understand Git on GitHub
Understand the difference between local Git commits and remote GitHub repositories. Master branch tracking, ahead-of-origin states, and clean sync habits.
How to push Git commits to GitHub
Create a private scratch repo, git push -u origin main, then match HEAD to git ls-remote and gh api. No fetch, pull, or --web.
How to fetch and pull from GitHub
Safely update your local code from GitHub with git fetch and git pull. Avoid unintended merge commits and reconcile remote changes without losing AI edits.
How to fix Git non-fast-forward errors
Diverge two clones, fail git push with non-fast-forward, then fetch plus merge or git pull, and push. No rebase, no --force, no --web.
How to split a Git subfolder into a repo
Clone a two-folder private repo, run git filter-repo --subdirectory-filter, prove the new root with git ls-tree and git log, then push.
How to use Git subtree merges on GitHub
Embed and synchronize external repositories using Git subtree instead of complex submodules. Manage shared UI components and libraries in a single repo.
How to understand Git rebase safely
Rebase unpublished feature onto diverged main in a private scratch repo, then prove a linear graph and that HEAD^2 fails. Never -i or --force.
How to use Git rebase on the command line
Squash messy AI commit spam into clean, production-ready commits with interactive Git rebase. Step-by-step guide to squashing and rewording commit history.
How to resolve Git rebase merge conflicts
Resolve merge conflicts during a Git rebase without panicking. Step-by-step guide to fixing conflict markers, continuing the rebase, or safely aborting.
How to handle special chars in Git names
Create a quoted hello-$USER branch and tag in a private scratch repo, prove check-ref-format, then push, list, and delete without --web or --force.