Git & GitHub — Version Control Mastery
Course Description
This course gives you a complete and practical mastery of Git, the world's most widely used version control system, and GitHub, the leading platform for code collaboration and open-source development.
You will learn to manage your code history with confidence, collaborate on professional teams, and adopt modern Git workflows used in the industry:
| Topic | Description |
|---|---|
| Git Fundamentals | Repository, commits, staging area, history |
| Branches & Merge | Branch strategies, merge, rebase, conflicts |
| GitHub | Remote repositories, push, pull, forks |
| Pull Requests | Code review, protected branches, checks |
| Collaboration | Git Flow, GitHub Flow, trunk-based development |
| Git Advanced | Stash, cherry-pick, bisect, hooks, submodules |
Who Is This Course For?
| Profile | Why Git & GitHub? |
|---|---|
| Developers (all levels) | Essential skill for any software project |
| DevOps Engineers | Foundation for CI/CD, GitOps, IaC |
| Students | First technical skill demanded by employers |
| Tech Project Managers | Understand and oversee version control workflows |
| Designers / Technical Writers | Collaborate on text and code with teams |
Learning Objectives
By the end of this course, you will be able to:
- Initialize and configure a Git repository from scratch
- Commit and manage a clear, readable commit history
- Create and merge branches with mastery of conflicts
- Use GitHub to host, share, and collaborate on code
- Submit and review Pull Requests with professional standards
- Apply industry-standard workflows (Git Flow, GitHub Flow)
- Resolve merge conflicts confidently and efficiently
- Automate actions with Git hooks and GitHub Actions
- Manage complex histories with rebase, cherry-pick, bisect
- Secure your repositories with protected branches and SSH keys
Course Structure
Module Details
| Module | Topic | Key Skills | Duration |
|---|---|---|---|
| 00 | Introduction & Installation | Git history, install, first config, first repo | 3h |
| 01 | Git Fundamentals | Add, commit, log, diff, reset, checkout | 5h |
| 02 | Branches & Merge | Branch, merge, rebase, conflicts | 6h |
| 03 | GitHub & Remotes | Remote, push, pull, clone, fork | 5h |
| 04 | Collaboration & Pull Requests | PR, code review, protected branches, workflows | 6h |
| 05 | Advanced Git | Stash, cherry-pick, bisect, hooks, submodules | 5h |
Prerequisites
| Course | Description | Level |
|---|---|---|
| Terminal / Command Line | Basic navigation in a terminal | Required |
| Text editor | VS Code or any text editor | Required |
| GitHub account | Free account on github.com | Required |
| Programming basics | Any language for code examples | Recommended |
This course starts from absolute zero. You don't need any prior Git or GitHub experience. We build skills step by step, from the very first git init.
Tools & Technologies
| Tool | Version | Usage |
|---|---|---|
| Git | 2.x+ | Core version control system |
| GitHub | — | Remote repositories and collaboration |
| VS Code | Latest | Built-in Git integration |
| Terminal | — | PowerShell, bash, zsh |
| GitHub CLI | Latest | gh command for GitHub from terminal |
Hands-on Labs
| Lab | Module | Objectives | Duration |
|---|---|---|---|
| TP1 | Installation | Install Git, configure identity, create first repo | 30 min |
| TP2 | Fundamentals | Add, commit, undo, explore history | 45 min |
| TP3 | Branches | Create branches, merge, resolve conflicts | 60 min |
| TP4 | GitHub | Push a project to GitHub, manage remotes | 45 min |
| TP5 | Fork & Clone | Fork an open-source project, propose changes | 45 min |
| TP6 | Pull Requests | Full PR workflow with review and merge | 60 min |
| TP7 | Git Flow | Apply Git Flow to a simulated project | 60 min |
| TP8 | Advanced Git | Stash, cherry-pick, bisect, hooks | 75 min |
Over 65% of course time is spent on practical exercises. Every concept is immediately applied in a real exercise.
Assessments
| Week | Assessment | Weight | Content |
|---|---|---|---|
| 2 | Assessment 1 | 20% | Git basics, commits, history |
| 4 | Assessment 2 | 25% | Branches, merge, conflict resolution |
| 6 | Assessment 3 | 25% | GitHub, remotes, Pull Requests |
| 8 | Final Project | 30% | Full team workflow with Git Flow + PR |
What You'll Build
By the end of the course, your final project will include:
- A Git repository with a clean, professional history
- Branches following the Git Flow model
- Pull Requests with documented code reviews
- A collaborative workflow simulation between several developers
- A README.md with contribution guidelines
- GitHub Actions automating basic checks on each PR
Frequently Asked Questions
Do I need to know how to code to take this course?
No. Git works on any type of files (code, text, configurations). The examples use simple scripts, but no programming knowledge is required to follow the course. Basic terminal skills are enough.
What's the difference between Git and GitHub?
Git is a local tool installed on your computer that tracks changes to your files. GitHub is an online platform that hosts Git repositories and adds collaboration features (Pull Requests, Issues, Actions, etc.). Git can work without GitHub, but GitHub requires Git.
Is Git still relevant in 2026?
Absolutely. Git is used by over 90% of professional development teams worldwide. It's the undisputed standard for version control. Knowing Git is as fundamental as knowing how to type for a developer.
Can I use GitLab or Bitbucket instead of GitHub?
Yes! The Git concepts (branches, merge, rebase) are identical regardless of the platform. The course focuses on GitHub for its hands-on sections, but all concepts apply directly to GitLab, Bitbucket, or any other Git host.
How long to become proficient with Git?
After completing this course (~30 hours), you'll have a solid foundation covering 95% of day-to-day needs. Mastery comes with practice: plan on 2-3 weeks of regular use on real projects to feel fully confident.
Resources
Quick Navigation
🗃️ 00 - Introduction & Installation
6 مواد
📄️ Overview
Master Git version control and GitHub collaboration: branches, merges, pull requests, workflows and DevOps best practices
🗃️ 01 - Git Fundamentals
4 مواد
🗃️ 02 - Branches & Merge
4 مواد
🗃️ 03 - GitHub & Remotes
4 مواد
🗃️ 04 - Collaboration & Pull Requests
3 مواد
🗃️ 05 - Advanced Git
4 مواد