Skip to main content

The Ultimate Git Course

5h 11m 52s
English
Paid

Git is the most popular Version Control System (VCS) in the world, crucial for tracking your project history, reverting code in case of errors, and enhancing collaborative work within a team.

This is why Git is a must-have skill, prominently featured in almost every software and DevOps engineer job description!

Understanding the Complexity of Git

Despite its widespread use, Git can be complex. Many seasoned developers use Git for years without fully understanding its inner workings.

Course Objective

This course is designed to demystify Git. Our goal is to provide you with a deep understanding of Git, enabling you to use it with confidence and ease. Once you've grasped how Git works, executing Git commands will become second nature.

Take Control of Git Commands

Say goodbye to blindly copying Git commands from StackOverflow and hoping they work. This course will empower you to take control of your Git usage!

This is the Git course I wish I had when I was learning Git!

About the Author: codewithmosh (Mosh Hamedani)

codewithmosh (Mosh Hamedani) thumbnail
Hi! I am Mosh Hamedani! I am a passionate and pragmatic software engineer with 20 years of professional experience and I've taught over 10 million people how to code or how to become professional software engineers through my YouTube channel and online courses. I have a Bachelor of Science in Software Engineering and a Master of Science in Networks Systems. My mission is to make coding and software engineering accessible to everyone through courses that are simple to digest, and practical to implement.

Watch Online 103 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 103 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 1- Introduction
All Course Lessons (103)
#Lesson TitleDurationAccess
1
1- Introduction Demo
00:40
2
2- How to Take This Course
00:52
3
3- What is Git
02:32
4
4- Using Git
03:04
5
5- Installing Git
01:29
6
6- Configuring Git
05:05
7
7- Getting Help
00:52
8
8- Cheat Sheet
00:30
9
1- Introduction
00:35
10
2- Initializing a Repository
02:33
11
3- Git Workflow
04:36
12
4- Staging Files
03:38
13
5- Committing Changes
02:14
14
6- Committing Best Practices
02:00
15
7- Skipping the Staging Area
01:25
16
8- Removing Files
02:03
17
9- Renaming or Moving Files
02:19
18
10- Ignoring Files
06:35
19
11- Short Status
02:53
20
12- Viewing Staged and Unstaged Changes
05:00
21
13- Visual Diff Tools
04:54
22
14- Viewing History
02:13
23
15- Viewing a Commit
03:59
24
16- Unstaging Files
02:51
25
17- Discarding Local Changes
01:49
26
18- Restoring a File to an Earlier Version
02:17
27
19- Creating Snapshots with VSCode
01:57
28
20- Creating Snapshots with GitKraken
03:25
29
1- Introduction
00:49
30
2- Getting a Repository
00:33
31
3- Viewing the History
02:23
32
4- Filtering the History
04:55
33
5- Formatting the Log Output
03:26
34
6- Aliases
02:19
35
7- Viewing a Commit
02:14
36
8- Viewing the Changes Across Commits
01:17
37
9- Checking Out a Commit
03:41
38
10- Finding Bugs Using Bisect
04:29
39
11- Finding Contributors Using Shortlog
01:19
40
12- Viewing the History of a File
01:09
41
13- Restoring a Deleting File
02:09
42
14- Finding the Author of Line Using Blame
01:09
43
15- Tagging
02:42
44
16- Browsing History Using VSCode
04:26
45
17- Browsing the History Using GitKraken
05:02
46
1- Introduction
00:43
47
2- What are Branches
02:39
48
3- Getting a Repository
00:19
49
4- Working with Branches
05:13
50
5- Comparing Branches
01:53
51
6- Stashing
04:05
52
7- Merging
03:22
53
8- Fast-forward Merges
06:55
54
9- Three-way Merges
03:17
55
10- Viewing Merged and Unmerged Branches
01:09
56
11- Merge Conflicts
05:35
57
12 - Graphical Merge Tools
04:59
58
13- Aborting a Merge
00:42
59
14- Undoing a Faulty Merge
05:27
60
15- Squash Merging
05:26
61
16- Rebasing
08:25
62
17- Cherry Picking
01:55
63
18- Picking a File from Another Branch
01:45
64
19- Branching in VSCode
09:07
65
20- Branching in GitKraken
04:29
66
1- Introduction
00:47
67
2- Workflows
03:58
68
3- Creating a GitHub Repository
02:48
69
4- Adding Collaborators
01:04
70
5- Cloning a Repository
02:53
71
6- Fetching
04:35
72
7- Pulling
03:48
73
8- Pushing
02:27
74
9- Storing Credentials
01:46
75
10- Sharing Tags
01:39
76
11- Releases
02:20
77
12- Sharing Branches
03:22
78
13- Collaboration Workflow
06:44
79
14- Pull Requests
08:21
80
15- Resolving Conflicts
03:29
81
16- Issues
02:28
82
17- Labels
00:49
83
18- Milestones
01:43
84
19- Contributing to Open-source Projects
03:55
85
20- Keeping a Forked Repository Up to Date
05:20
86
21- Collaboration Using VSCode
02:34
87
22- Collaboration Using GitKraken
03:07
88
1- Introduction
00:48
89
2- Why Rewrite History
01:20
90
3- The Golden Rule of Rewriting History
03:48
91
4- Example of a Bad History
02:44
92
5- Undoing Commits
04:56
93
6- Reverting Commits
03:30
94
7- Recovering Lost Commits
02:37
95
8- Amending the Last Commit
03:39
96
9- Amending an Earlier Commit
05:45
97
10- Dropping Commits
04:29
98
11- Rewording Commit Messages
01:44
99
12- Reordering Commits
01:23
100
13- Squashing Commits
03:26
101
14- Splitting a Commit
03:22
102
15- Rewriting History Using GitKraken
02:09
103
17- Course Wrap Up
00:28
Unlock unlimited learning

Get instant access to all 102 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription