This hands-on course introduces Git as a powerful Version Control System and GitHub as a collaboration platform for developers. You’ll start with Git fundamentals, including installation, internals, hashing, snapshots, branches, merging, rebasing, and stashing. Then, you’ll dive into GitHub workflows—commits, README files, cloning, collaboration, remote branches, conflict resolution, fetch vs. pull, and branching strategies. By the end, you’ll be equipped to manage repositories confidently, collaborate effectively, and apply real-world Git workflows with signed commits and digital signatures.
Who should take this Course?
The Mastering Git and GitHub Online Course is ideal for software developers, programmers, and DevOps engineers who want to efficiently manage code, collaborate on projects, and streamline version control. It is also suitable for students, beginner coders, and IT professionals seeking hands-on experience with Git commands, branching strategies, and GitHub workflows to enhance their development and collaboration skills.
What you will learn
Understand the need for version control, Git, and branches in Git
Understand the SHA1 Hashing algorithm
Clone a private repository and add project collaborators on GitHub
Learn to create a remote branch and push changes using Git Bash
Learn to sync the forked repository with the original from the local repository
Learn to make signed commits and verify them on GitHub
Course Outline
Introduction to Git
Introduction
Need for Version Control System and Git Part 1
Need for Version Control System and Git Part 2
VCS - How It Works
Distributed VCS
Installing Git
Git CLI Versus Git Bash Versus Git GUI
Basic Bash Commands
What Exactly Is Git Commit
Initializing the Project and Exploring the .git Folder
Configuring Git Credentials and Exploring Local Global System Configs
Staging and Unstaging and Checking Status
Understanding Commit with Multiple Use Cases
Git Deep Dive
SHA1 Hashing Algorithm
Git Internals (All about Object Database) Part 1
Git Internals (All about Object Database) Part 2
Git Internals - Viewing and Reading Git Objects
How Blob Objects Behave
Garbage Collection and Pack Files
Git Snapshot - What It Means to Take a Snapshot
Time Travel with Git
Time Travel in Practice
All About Branches
Life without Branches
What Are Git Branches
How Branches Solved Our Problems
How Git Branches Work and What Exactly Is a Branch
Branches in Action (Creating Branches and Exploring the Git Repo)
Understanding - Detached Head State - Head in Action
Undo the Changes with Git Reset HEAD
Retrieving the Lost Mystery with reflog
Merging
Fast-Forward Merge
Fast-Forward Merge in Action
Deleting the Branch and Recovering
Understanding Three-Way Merge and Merge Commit
Three-Way Merge in Action
Understanding Merge Conflicts
Merge Conflicts in Action Part 1
Merge Conflicts in Action Part 2
Installing and Setting Up Visual Studio Code to Work on Git
Exploring VS Code and Performing GIT Operations
Rebasing
Git Rebase Versus Merge
Performing Rebase in VS Code and Handling conflicts
Git Rebase in Git Bash - Skipping Conflicts and Aborting the Rebase
Git Interactive Rebase
Rebase to a Specific Commit or to Another Feature Branch
When to Use Rebase and When to Use Merge – Use Cases
Stashing
What is Stashing - Its Use Cases - Example of Stashing
Applying the Stash Across Multiple Branches
Retrieving a Specific Stash - Listing Stashes - Handling Conflicts
Stashing Selective Changes and Retrieving Them - Understanding Hunk
Exploring Stashing in VS Code - Deleting a Stash
Git Ignore
Git Ignore and Its Significance
Git Ignore in Action - Global Exclude Config
Precedence Order - Overriding - Pattern Debugging
Ignore Files That Were Already Committed
Generating the Ignore Files for Your Project
Getting Started with GitHub
Why GitHub - GitHub Versus Bit Bucket Versus GitLabIntroduction"
Creating GitHub Account
Creating and Understanding Public and Private Repositories in GitHub
Making Commits in GitHub and Understanding ReadMe File
Creating Branch and Committing Changes - Managing Branches in GitHub
Getting Started as Collaborator
Cloning a Public Repo and Exploring Other Options
Cloning a Private Repository and Adding Project Collaborators on GitHub
Understanding Tracking Branches and Default Branch