Git Mastery: Beginner to Expert with GitHub & GitLab

Become a professional Git user along with expertise in GitHub, GitLab & Azure DevOps. Step-by-Step no assumptions made.

4.34 (31 reviews)


30 hours


May 2021

Last Update
Regular Price

Unlimited access to 30 000 Premium SkillShare courses

What you will learn

Master key Git concepts

Perform basic operations such as branching/merging/rebasing/cherry-picking

Learn how to solve Merge-Conflicts like a pro using various tools

Learn how to perform Pull-Requests (GitHub) & Merge-Requests (GitLab)

Use advanced operations such as Submodules / Subtrees / Hooks and more

Contribute to public repositories with works and creating pull requests of a forked repository

How to revert commits through various ways

Learn how to setup a protected branches with permissions in a repostiory on GitHub + GitLab + Azure DevOps + BitBucket

Work the right way with proven Workflows


This course is all about Git and GitHub/GitLab/Azure Devops.

This course comprehensively covers not only Git but also possible Git hosting providers such as GitHub/GitLab or Azure DevOps, which means no prior knowledge or experience is required.

Starting from the very basics we will move to more intermediate topics (Branching, Merging, Rebasing, ...) and finally progress onto advanced topics such as Submodules, Subtrees and more.

If those terms are new to you - jump in and you will learn all that and more using multiple practice examples and animated slides.

Become a Git expert with proficiency in Repository/Team Management in GitHub/GitLab/Azure DevOps.

This is the most complete and comprehensive Git and GitHub/GitLab/Azure DevOps course, with tons of practical activities enchanted with animated slides for better understanding as well as a 30-page Cheat-Sheet. By the end of this course you will be the person to ask about Git! Everything will be taught from scratch, from the very basics to the advanced topics. If you truly want to master Git and GitHub/GitLab/Azure Devops this course is for you.

For those who are interested which commands will be covered in this course here is a list (without additional options that will be explored in the course):

git add · git bisect · git blame · git branch · git checkout · git cherry-pick · git clean · git clone · git commit · git config · git diff · git grep ·  git fetch · git gc · git gui · git init · git log · git ls-files · git merge · git merge-base · git merge-file ·  git mergetool · git mv · git pull · git push · git rebase · git reflog · git remote · git reset · git restore · git rev-list · git revert · git rm · git shortlog · git show · git stage · git status · git submodule · git subtree · git switch · git tag


This course is divided into 10 chapters, which will explore and go into detail on several core topics surrounding git. Below is a small summary for each chapter:

Chapter 1 focuses on clarifying the difference between Git and hosting services such as GitHub & GitLab.

Chapter 2 is a quick dive into Git and its most used commands. After this you will be comfortable with basic Git operations such as git add · git commit · git push · git pull · git status · git log · git cherry-pick · git checkout · and more. You will also know how to setup a .gitignore file and be able to create Branches and merge them. And finally we will cover Authentication methods such as (HTTPS vs SSH).

Chapter 3 focuses purely on Git! This is the longest chapter in the course for a good reason. Having finished this chapter you will be able to perform pretty much all actions there are to Git, such as Commits · Undoing Commits · Branches · Merging · Stashing · Remote Repositories · Merge-Conflicts · Rebasing · Tags · Commit References · Git Interna and more...

Chapter 4 will probably be most peoples' favourite as we won't be making changes to a Repository ourselves, but retrieve information of an already existing Repository. This will include extensive use of the following commands with various options of git log · git tag · git reflog · git show · git diff · git grep · git blame · git bisect · git shortlog. You will also learn how to visualize a Repository using Gitstats & gitk & GitKraken.

Chapter 5 is all about GitHub, the most known and used Git Hosting Service. After completing this chapter you will be able to manage and set up Personal Repositories as well as Organisations/Teams with ease. This includes managing Pull-Requests and also setting up recommended permissions and protecting branches. Furthermore you will also practice on how to link Issues and Pull-Requests together and also create and use Labels. For managing purposes we will set up automated Issue/Project Boards. Last but not least we will make use of GitHub Actions and create a GitHub Wiki + GitHub Pages and finally set up some security with Dependabot and CodeQL.

Chapter 6 is all about GitLab, probably the second most used Git Hosting Service. This Chapter covers the same topics as chapter 5 (GitHub) but for GitLab. This will include Merge Requests & Permissions (Personal + Groups) · Issues & Labels · Member permissions & roles · Forking · Project Boards & Milestones · Wiki & Code Snippets · CI/CD Pipeline Basics · GitLab Pages · Web IDE.

Chapter 7 focuses on two other known Git Hosting Services: Azure DevOps & Bitbucket. The topics in this chapter will be similar to what you've learned for GitHub & GitLab.

Chapter 8 covers Workflows. After this chapter you will be able to setup a necessary Workflow and decide which Workflow is suitable for your Repository/Project. The following Workflows are covered: Solo-Development · Feature Branches · Gitflow - Long Running Branches · Trunk-based Development.

Chapter 9 will handle advanced topics with various exercises. We will set up different Hooks (pre-commit, post-commit, commit-msg, pre-push) to enchant our Development and Workflow-Guidelines. Afterwards we will have a deep dive on how to properly write commit-messages, such as splitting it up into a subject + body and linking it with Issues & Merge/Pull-requests from GitHub & GitLab. Furthermore we will learn and practice Git Submodules & Subtrees, two very advanced Git topics. At the end we will make our lives easier by adding some Git Aliases and setup 2FA for GitHub.

Chapter 10 covers topics that are unknown to most Git users like how to manage your /etc directory with Git and how to setup a Dotfiles Repository. As some Repositories use binary files, we're going to practice and setup Git LFS (Large File Storage). At the end we will use Visual Studio Code and install the well known GitLens extension.

Chapter 11 contains the downloadable Cheat-Sheet.

Chapter 12 will contain lessons that will be added to the course from time to time to keep it up-to-date. Currently there's lessons about signed commits for GitHub.

You will not just use the terminal to perform Git operations. In parallel you will also learn to use GUI applications for various use cases:

  • GitHub Desktop

  • gitk

  • Visual Studio Code (+ GitLens)

  • GitKraken

  • TortoiseGit

  • Meld (For Merge-Conflicts)

  • Gitstats

  • Git GUI

Join now and you will get lifetime-long access to 30 hours of content packed with tons of practical exercises and a 30-page Cheat Sheet! After finishing this course you will be the person to ask about Git in your company and you will be able to perform advanced tasks with ease!

You also get a 30-day money-back guarantee. No questions asked!

Join now to become a true Git master!


Git Mastery: Beginner to Expert with GitHub & GitLab
Git Mastery: Beginner to Expert with GitHub & GitLab
Git Mastery: Beginner to Expert with GitHub & GitLab
Git Mastery: Beginner to Expert with GitHub & GitLab



Course Introduction

Course Overview

Chapter 1 Overview

What is Git?

"Git" and "git"

Different Git Interfaces

Git vs GitHub vs GitLab

Git quick dive & Authentication

Chapter 2 Overview

Installing Git in Linux

Installing Git in Windows

Choose our default Git Editor

Creating our GitHub Account

Crashcourse: Cloning our GitHub Repository

Crashcourse: git add & git commit

Crashcourse: git status

Crashcourse: .gitignore

Crashcourse: git push & git pull

Crashcourse: git log

Crashcourse: Push local repository to GitHub

Crashcourse: Branches

Authentication Overview

Authentication: Windows Credential Manager

Authentication: macOs Keychain

Authentication: SSH instead HTTPS

Authentication: Changing local repo to ssh

IDE & Editors: Overview

IDE & Editors: Emacs

IDE & Editors: Git Gui

IDE & Editors: GitHub Desktop

IDE & Editors: IntelliJ

IDE & Editors: TortoiseGit

IDE & Editors: VSCode GitLens

Git with Synchronization and Backups

Git Advanced Deep Dive

Chapter 3 Overview

Git Nomenclature & Recap 01

Git Nomenclature & Recap 02

Git Nomenclature & Recap 03

Git Nomenclature & Recap 04

Git Interna Introduction 01

Git Interna Introduction 02

Git Commits: Deep Dive

Git Commits: Interna

Git Commit: Move & Delete

Git Repository to Clone

Git Commits Undo: Repository Overview

Git Commits Undo: git reset & git restore

Git Commits Undo: git show & git diff

Git Commits Undo: git restore

Git Commits Undo: git revert

Git Commits Undo: git reset

Git Commits Undo: Changing commit message

Git Commits Undo: Summary 01

Git Commits Undo: Summary 02

Branches 01

Branches 02

Merging 01

Merging 02

Merging 03

Git Stash-Area (Stashing)

Remote Repositories Intro

Remote Repositories 02

Remote Repositories 03

Remote Repositories Interna

Merge Conflict Intro

Merge Conflict 02 (VSCode)

Download Repository

Merge Conflict 03: Merge-Tools (Meld)

Merge Conflict 04: Content Merge Conflic & Interna

Rebasing Intro

Rebasing 02: Hands On

Rebasing 03: Explained & Rebasing options

Rebasing 04: Squashing several commits

Tags Intro

Tags 02: Lightweight vs Annotated Tags

Tags 03: Deleting/Changing/Undoing Tags

Referencing Commits 01

Referencing Commits 02

Git Interna Final

Information Analysis in Git-Repository

Chapter 4 Overview

git log 01: Usefull options

git log 02: Usefull options PRACTICE

git log 03: --pretty Syntax

git log 04: --pretty PRACTICE

git log 05: --grep & --file & --author

git log 06: --grep & --file & --author PRACTICE

git log 07: Range Syntax

git log 08: --since/after & --until/before

Repository to clone

git log 09: Time-Range PRACTICE

git tag & git reflog 01

git tag & git reflog 02

git show & git diff 01

git show & git diff 02

git grep 01

git grep 02 (& git blame)

git bisect 01

git bisect 02

git shortlog 01

git shortlog 02

Gitstats & gitk

Gitkraken Quick Overview


Chapter 5 Overview

Pull Request Intro

Pull Request 01: Personal Repository

Pull Request 02: Personal Repository Permissions

Pull Request 03: Personal Repository change base branch

Organisation 01: Creation & adding Members

Organisation 02: Permission levels within an Organisation

Organisation 03: Creating Teams

Organisation 04: Assigning Team permissions for Repositories

Organisation 05: Overview of Team permission levels

Organisation 06: Protected branches within a Repository

Forking 01: How to collaborate on foreign repositories

Forking 02: Disabling forking

Issues & Labels

Project Boards

Markdown Syntax 01

Markdown Syntax 02

GitHub Actions 01

GitHub Actions 02

GitHub Actions 03

GitHub Wiki

GitHub Pages

GitHub Security with Dependabot & CodeQL


Chapter 6 Overview

Create GitLab Project (Repository)

Merge Request & Permissions 01

Merge Request & Permissions 02

Issues & Labels

Project member permission levels

Forking (Merge Request)

Groups & Permissions

Project Boards & Milestones

Wiki & Code Snippets

CI/CD Pipeline Basics

GitLab Pages

GitLab WebIDE

GitLab Markdown Syntax

Azure DevOps & Bitbucket

Quick Info for Chapter 7

Azure DevOps 01: Creating our Repository & Pull Request & Work Items

Azure DevOps 02: Creating Project Boards

Azure DevOps 03: Sprints & Wiki

Bitbucket 01: Creating Repository & Inviting Members & Pull Request

Bitbucket 02: Permission & Pipelines


Chapter 8 Overview

Basic Instructions for Teams


Feature Branches 01

Feature Branches 02

Gitflow - Long Running Branches

Gitflow Article

Trunk-based Development

Which Workflow to use?

Hooks & Submodule/Trees & Git-Aliasses & 2FA

Chapter 9 Overview

Hooks 01: Overview

Hooks 02: pre-commit

Hooks 03: pre-commit & post-commit

Hooks 04: commit-msg

Hooks 05: pre-push

Concise Commit Messages 01

Concise Commit Messages 02

Concise Commit Messages 03

Concise Commit Messages 04

Git Submodules 01: Hands On

Git Submodules 02: Explained

Git Subtree 01: Hands On

Git Subtree 02: Explained

Git Aliases & zsh (oh my zsh)

2 Factor Authentication (2FA)

Other Git usages

etckeeper & git

Dotfiles 01: Managing Linux .files with git

Dotfiles 02: Importing our Dotfiles config

Git Large File Storage (LFS)

Visual Studio Code: Git

Visual Studio Code: GitLens

Final Words & Extra Content

Final Words

Git Cheat Sheet


Joe20 June 2021

Splendid so far! Currently doing the crash course and already acquired a lot of knowledge. The animations together with hands on examples are really helpfull for beginners like me!

Nguyet3 June 2021

There is a little problem with the instructor's English accents. But so far, this course is still very great!

Fabio5 March 2021

this course is just amazing. I started from 0, now I feel much more confident. You will get info about pratical example, how to do and not to do things. It have basics crash course and intensive (under the hood) course. A must!

Abigail3 March 2021

I have just started this course and so far everything is very detailed and informative. Everything is explained well and very clear. Enjoying it so far and can't wait to study the rest!

Peter3 March 2021

Awesome! I have little to no git experience and everything is explained very clearly. Kudos to the Instructor

Dietriech1922 February 2021

A really great course for everyone who is looking for a "full" git course. Everything so far is explained with great detail and examples. What I personally really appreciate is the fact that Github and Gitlab are covered. I've been working with both platforms for quite a while but never really had any clue about all the stuff other people take care off. Really great to acquire knowledge in that topic as well. LG Dietriech


Udemy ID


Course created date


Course Indexed date
Course Submitted by