Git Mastery: Beginner to Expert with GitHub & GitLab (Udemy.com)
Become a professional Git user along with expertise in GitHub, GitLab & Azure DevOps. Step-by-Step no assumptions made.
Created by: Mike Kilic
Last updated May 2025
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
How it compares
Against the other 108 rated Udemy courses in Git on CourseDuck:
- Rating4.2 out of 5higher than 18% of them
- Reviews1,335#37 of 109 by number of reviews
- Length31.4 hourslonger than 99% of them
- Last updatedMay 2025more recently than 64% of them
Course Description
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, ect & dot repos 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
Instructor Details
- 4.2 Rating
1,335 Reviews
Mike Kilic
Hello there!
I'm Mike, a seasoned professional deeply immersed in the realms of UNIX, Programming, Networking, and particularly, Cloud technologies. My journey in tech has led me to specialize in Cloud Computing, with a focus on CNCF and HashiCorp products, as well as expertise in major cloud platforms. My background includes extensive experience in Unix/Linux systems and advanced networking, honed through years of working in data centers and providing consulting services to prominent clients in the banking and leasing sectors, particularly in highly regulated industries.
As an educator on Udemy, my goal is to demystify complex tech concepts. My approach is rooted in visualization and practical application, teaching in a manner I wish I had encountered during my early learning days. This hands-on methodology is not just a teaching strategy but a reflection of my extensive real-world experience.
I'm proud to hold several industry-recognized certifications, which validate my expertise and commitment to continuous learning. These include:
- HashiCorp Certified: (Terraform/Vault/Consul) Associate
- CNCF Certified: Prometheus Certified Associate (PCA), Certified Kubernetes Security Specialist (CKS), Certified Kubernetes Application Developer (CKAD), Certified Kubernetes Administrator (CKA)
More courses by Mike Kilic
Shell Programming/Scripting for Absolute Beginners (2020)
4.2 (158 Reviews)
Provider: Udemy
Time: 3.4h
$19.99
More Git courses
Git Ultimate Essentials: Everything you NEED to know (2019)
4.8 (103 Reviews)
Provider: Udemy
Time: 2.5h
$39.99
GitLab CI/CD: Pipelines, CI/CD and DevOps for Beginners (2026)
4.7 (25,572 Reviews)
Provider: Udemy
Time: 13.9h
$14.99
Git and GitHub CRASH COURSE - with Unreal Engine (2026)
4.7 (1,029 Reviews)
Provider: Udemy
Time: 6.7h
$89.99
Reviews
By Marek Najdowski on 5/13/2026
I expected more from a 30-hour course. It’s quite disorganized, and the overuse of buzzwords (like “basically,” “actually,” etc.) makes it frustrating and hard to follow along at times—the course could have been even 7 hours shorter... On the other hand, it covers most topics related to Git within a single course - that makes 3/5 stars.
By Kevin Cruz on 3/31/2026
Chapters 2 and 3 are comprehensively disorganized disasters of incorrect, inaccurate, outdated and poorly explained information. You will spend entirely too much time sifting through the instructor's explanations trying to make sense of them. I cannot recommend this course until the instructor comes back and updates this course to improve clarity, replace missing notes and information that have been lost and dismissed as unrecoverable, and to update outdated processes and techniques. I also highly recommend the class be restructured to move advanced git command line concepts to the end of the series, as this course was not written to be used to pass exams and should instead be written for students to transition from untrained git users to competency within solo projects, to group projects, to expert skills. Concepts like Rebasing, Squashing, and rev syntax are frustrating time wasters that students will forget before ever needing to use them. Multiple sections within chapters are functionally labs that are not labeled as such. If you insist on taking this course, I highly recommend using an AI to supplement explanations and to double-check what the instructor is saying and presenting for clarity and accuracy. The instructor is clearly knowlegable about git, but this course is also from 2017 and has never been comprehensively updated.
By Jon Cody on 2/19/2025
My only small criticism is that the videos could get a little hard to understand some of the more complicated aspects of git due to the accent (I live in the U.S.), but even with that considered, Mike did such an awesome job, and I loved his sense of humor! He gave comprehensive videos and occasionally could laugh at his own mistakes--love that! It's truly comforting to hear that kind of stuff when you are learning about new technolgies.
By Mateusz Szczepanski on 12/4/2024
A wealth of in-depth knowledge about Git and GitLab/GitHub platforms. The section on GitLab in Oracle Cloud was particularly helpful. The tools, like GitStats, were presented effectively. I watched at 1.5x speed, and everything was easy to follow. The English and accent were excellent for a non-native speaker. Content-wise, there’s nothing negative to point out.
By Luiz Silva on 8/14/2024
O professor é muito competente, ele explica tudo detalhadamente até você conseguir entender todos os detalhes do git, tem muito conteúdo que muita gente nem se quer pensa em usar, e isso vale as 30 horas desse curso, parabens professor!!
By Sachin Ramsuran on 5/29/2024
This is an excellent course. The instructor is very knowledgeable and clear in his explanations. I especially admire how mistakes on screen are not blanked out but he diagnoses with the students so we can gather from that experience.
By Michal Safar on 9/15/2023
Teacher tried to explain the concept as much as possible. Why I wrote "try"? The explanation process will not fit to everybody, it was slow sometimes and his voice is not dynamic, but the information is very valuable and you can clearly see that he is somebody with practical experience with git.
By Achim Peters on 12/9/2022
This course is way too long and a lot of time is wasted. E.g. It goes into lengthy details about the various options of "less" and shows examples of how to create output in various colors .. "This is red. This should be a different red, oh no it isn't. This is green. Ah, this is black (on black)..." The Author's English is sometimes awful. This : is a colon, not a "double dot". This " is a quote sign, not a "parenthesis". "reflog" is not pronounced "reef log". "cache" is pronounced like "cash", not like "cage". "developer" has an "e" after the "v", which is even where the emphasis of the word goes. It is not pronounced "devloper" as used throughout the whole course, but "dev*e*loper". The most annoying thing is the Author's excessive use of words like "actually", "so to speak", and "like I said". "Actually" is used in almost every other sentence and sometimes three times in one single (short) sentence.
By Jack Maggs on 10/28/2022
Best course I've taken on Udemy. - Instructor is a good speaker and easy to listen to for extended periods of time - Well structured, I appreciate that it is broken up into a fairly quick overview, so you can get started immediately, before doing a deeper dive afterwards. - Seems as comprehensive as can be expected without becoming extremely long
By Fabio Na on 3/5/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!
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 84 / 100







