Turning Learners Into Developers
Codekilla
CODEKILLA
Git·Beginner → Advanced

Git & GitHub

Master version control — from your first commit to open-source contributions and CI/CD.

A complete Git & GitHub curriculum: version control fundamentals, branching and merging, rebase and history surgery, GitHub collaboration (PRs, issues, projects), GitHub Actions CI/CD, security, open-source contribution and real team-workflow capstone projects. 50 modules · 330+ hands-on lessons.

Self-paced
334 lessons
Certificate on completion
// preview.git-github
git
git commit -m "first commit"
# curriculum
0 / 334 lessons·0% complete
01What is Version Control System (VCS)?02Why Version Control is Important03Types of Version Control Systems04Local VCS05Centralized VCS06Distributed VCS07History of Git08Why Git Was Created09Advantages of Git10Features of Git11Git vs GitHub12Git vs SVN13Git vs Mercurial14Real-World Use Cases15Download Git for Windows16Install Git on Windows17Git Bash18Git CMD19Git GUI20Install using apt21Install using yum22Install using dnf23Install with Homebrew24Install with Xcode Command Line Tools25Check Git Version26Troubleshooting Installation27Configure Username28Configure Email29Global Configuration30Local Configuration31System Configuration32Default Editor33Default Branch34Git Aliases35View Configuration36Reset Configuration37Working Directory38Staging Area (Index)39Local Repository40Remote Repository41Commit Object42Blob43Tree44SHA Hash45HEAD46Branch Pointer47Initialize Repository48Clone Existing Repository49Bare Repository50Local Repository Setup51Remote Repository Setup52Repository Structure53Untracked Files54Tracked Files55Modified Files56Staged Files57Committed Files58Deleted Files59Ignored Files60git init61git clone62git status63git add64git commit65git log66git diff67git show68git rm69git mv70git restore71git checkout72git switch73Writing Good Commit Messages74Conventional Commits75Commit History76Amend Commit77Empty Commits78Commit Metadata79git log Deep Dive80One-Line History81Graph View82Filter Commits83Search Commits84Shortlog85Inspecting Commits with git show86Restore Files87Undo Staging88Reset89Soft Reset90Mixed Reset91Hard Reset92Revert Commit93Detached HEAD94Recover Deleted Commits95Why Use .gitignore96Ignore Files97Ignore Directories98Wildcards99Global Ignore File100Common Ignore Patterns101What is a Branch?102Main Branch103Feature Branch104Bugfix Branch105Hotfix Branch106Release Branch107Branch Naming Conventions108Create Branch109Rename Branch110Delete Branch111Switch Branches112Merge Branches113Fast-Forward Merge114Three-Way Merge115Merge Strategies116Merge Commit117Merge Best Practices118Why Conflicts Occur119Conflict Markers120Manual Resolution121Merge Tools122Conflict Prevention Best Practices123What is Rebase?124Rebase vs Merge125Interactive Rebase126Squash Commits127Edit Commit128Reorder Commits129Copy Single Commit130Copy Multiple Commits131Resolve Cherry-Pick Conflicts132Create Stash133Apply Stash134Pop Stash135Drop Stash136Clear Stash137Named Stash138Lightweight Tags139Annotated Tags140Release Tags141Delete Tags142Push Tags143Origin144Upstream145Add Remote146Remove Remote147Rename Remote148Multiple Remotes149Git Push150Git Pull151Git Fetch152Force Push153Pull with Rebase154Tracking Branches155What is GitHub?156How GitHub Extends Git157GitHub Features158Public Repository159Private Repository160Organizations161Teams162Repository Visibility163Sign Up164Profile Setup165Profile README166Avatar167Bio168Security Settings169Two-Factor Authentication170Create Repository171README.md172LICENSE173Choosing a .gitignore Template174Repository Settings175Rename Repository176Delete Repository177Transfer Repository178Invite Collaborators179Repository Permissions180Working in Organizations181Managing Teams182Team Permissions183What is Fork?184Fork Workflow185Sync Fork186Upstream Repository187Contributing Through Forks188Create Pull Request189Draft Pull Request190Review Pull Request191Merge Pull Request192Close Pull Request193Reopen Pull Request194Resolve PR Conflicts195Create Issue196Labels197Milestones198Assignees199Templates200Issue Forms201Create Discussion202Categories203Questions204Announcements205Community Support206Kanban Board207Sprint Planning208Task Management209Roadmaps210Automation211Create Wiki212Documentation213Organizing Project Docs214Release Process215Release Notes216Semantic Versioning217Upload Assets218Static Website Hosting219Custom Domain220Jekyll Basics221Portfolio Website Deployment222Headings223Paragraphs224Lists225Links226Images227Tables228Code Blocks229Task Lists230Emojis231Badges232Mermaid Diagrams233Generate SSH Keys234Add SSH Keys to GitHub235Test SSH Connection236Personal Access Tokens (PAT)237Credential Manager238Git Objects239Blob Objects240Tree Objects241Commit Objects242References (Refs)243HEAD Internals244Git Database245Object Storage246git reflog247git bisect248git blame249git clean250git archive251git bundle252git worktree253git fsck254Submodules255Subtrees256Managing Dependencies257Updating Submodules258Pre-commit259Commit-msg260Pre-push261Post-merge262Custom Git Hooks263Introduction to Actions264Workflow Files265YAML Basics266Jobs267Steps268Runners269Secrets270Environment Variables271Build Automation272Testing in CI273Deployment with Actions274Branch Protection Rules275Secret Scanning276Dependabot277Code Scanning278Security Advisories279Repository Rules280gh auth login281Repository Management282Issues from the CLI283Pull Requests from the CLI284Releases from the CLI285Install GitHub Desktop286Clone Repository in Desktop287Commit Changes in Desktop288Push & Pull in Desktop289Branching in Desktop290Merging in Desktop291Introduction to Git LFS292Install Git LFS293Track Large Files294Push & Pull LFS Files295Finding Projects296Understanding CONTRIBUTING.md297Forking298Creating Branches299Committing Changes300Opening Pull Requests301Responding to Reviews302GitHub Flow303Git Flow304Feature Branch Workflow305Forking Workflow306Trunk-Based Development307Branch Naming Standards308Commit Message Standards309Repository Organization310Semantic Versioning Standards311Documentation Standards312Code Review Guidelines313Personal Portfolio Repository314Markdown Documentation315GitHub Pages Portfolio316Version-Controlled Notes317Static Website Deployment318Team Collaboration Project319Student Management System Repository320Blog Repository with Branch Workflow321API Documentation Repository322Open Source Contribution Sprint323CI/CD Deployment Pipeline324Multi-Branch Team Project325Docker Project with GitHub Actions326Interview Questions — Git Fundamentals327Interview Questions — Branching & History328Interview Questions — Advanced Git329Interview Questions — GitHub & Workflows330Practical Exercises331Capstone: Team Collaboration Workflow332Capstone: Open Source Contribution333Capstone: Portfolio Deployment334Capstone: CI/CD Pipeline
enroll.now()
Free
Full access. No credit card.
✓ Lifetime access
✓ Code along with projects
✓ Community support 24/7