Git GitHub Complete Masterclass Beginner to Git Expert

Most comprehensive, STEP by STEP Git & GitHub tutorial with great & easy to understand examples and Quizzes.
Git GitHub Complete Masterclass Beginner to Git Expert
File Size :
5.96 GB
Total length :
14h 3m



Bibhash Roy


Last update




Git GitHub Complete Masterclass Beginner to Git Expert

What you’ll learn

Build rock solid foundation in Git and related concepts
Learn Git installation on multiple platforms
Learn how to configure git repository in 3 ways
Learn how to modify, add and commit artifacts
Learn how to inspect Git repository using status and log checks
Learn Git branching basics
Learn to basics of public key cryptography
Learn GitHub and how use and manage the web based Git repository
Learn how to communicate with GitHub from local repository
Learn HTTPS and SSH connection with GitHub
Learn details of connection management
Learn basic file management in git bash environment
Learn how to customize/colorize Git bash prompt for productivity
Learn how to undo changes in Git repository through checkout, reset, revert and clean
Learn how to install and configure “Sublime Text” as the default text editor for Git
Learn how to install and configure “p4merge” as Git diff and merge tool
Learn how to perform Git comparisons between various sections of a Git repository

Git GitHub Complete Masterclass Beginner to Git Expert


A computer (PC/MAC/Linux) with Internet connection
Basic knowledge of Computer
Software installation might need Admin rights


Student are loving this course – here are few REVIEWS for this course:
“For the first time I managed to understand git and have it installed on my computer without any hustle. This must be the best git course on udemy hands down.The lecturers CLI has big texts which makes it easier to follow and always explains his steps. Please make more videos like this and take my money !” – Mr. Kelvin Mbewe
“This is an exceptional course, perhaps one of the best I’ve ever taken. The material is extremely well organized, and lessons are presented in a logical sequence. Bibhash is an enthusiastic instructor, and he has a very pleasant and engaging presentation style. I highly recommend this course. Thank you, Bibhash!” – Rebecca L. Lloyd
“The teacher has a very even pace and explains things thoroughly. He has a nice tone of voice – not to slow, not too fast. He explains git in a step-by-step manner that is easy to follow. He knows the topic well, and explains it well by leading you through examples in the terminal by telling how, what and why he is doing each step. I like learning about git from this guy. Everything is proceeding smoothly. Thank you Bibhash for teaching this course! I enjoy it a lot. Cheers!” – Jeff Jackson

“Excellent course. I will buy any course from this instructor simply for his effort in explaining the subject with so much passion. He covers the subject in depth. Visual tools to explain the concepts are very good.” – sriram Subramani
“excellent course and instruction style! worth the money.” – Josh Schmid
This course is aimed at providing rock solid foundation in Git. It covers the most needed basic and intermediate Git concepts that form the foundation of this wonderful source control management system (SCM) so that the student can go up and running within a matter of few hours. However, this is not say that this Git course covers things in hurry. On the contrary, all the foundation Git concepts are explained with utmost care so that the student feels (assuming a newbie or starter) comfortable with the concepts that has been laid down with great consideration and due diligence. The sections devoted to GitHub bears the same hallmark of care & clarity that the sections on Git are marked with.
The Git & GitHub course is power-packed with intensive hands on Lab sessions that covers the basic and elemental concepts in great detail. The Labs are the highlights of this Git course which implements all the concepts that are explained thoroughly and exhaustively in the presentations.

Course Layout
The section “Introduction and Getting Started” covers a great overview of Git that will warm up the student before taking on the concepts layered in the subsequent sections. To spice up things, it briefly covers history of Git. Next, the fundamental principles that govern Git is explained with well illustrated diagrams so that student doesn’t face difficulty in facing the Labs that implements those concepts and principles. This section also introduces the Instructor and explains how to go through this Git course so that one get the best out of it.
The section “Git Setup and Installation” demonstrates the installation process of Git on all the three prevalent platforms, namely Windows / Linux / Mac. Each platform is covered nicely with detailed explanation so that student does not face any difficulty in understanding the Git setup process and one can get up and running without a hitch.
The section “Setting up a Git Repository” explains thoroughly the Git configuration process which forms the basic prerequisites before one goes to the next step of creating Git repositories. Once the prerequisites are taken care of, the subsequent lectures carefully crafts it way through explaining step-by-step process of Git repository creation process. The Git repository creation process comes in three flavors – creating from scratch with nothing on hand, converting an unversioned code base to Git repository and Cloning a Git repository that was existing on GitHub.
The section “Enter GitHub” explains this massively popular web based Git repository with utmost care and precision. It explains the hugely popular and effective GitHub “fork” and “clone” processes. Before that there are sections that navigate through GitHub in order to make the student familiar with GitHub website, it’s user interface and general remote repository management process.
The section “Committing changes in Git” is where the action starts approaching the climax. Here the student will work on the Labs to in order to understand the few concepts that forms the pillars of Git, namely the “Git states”. One can understand how an artifact (file / directory e.t.c) goes through the Git workflow to reach the climactic point wherein the artifacts are safely placed in the Git database.
The section “Inspecting what’s going on in a Git Repository” explains how to peek into the internal workings of Git. In short – what’s going behind the scenes! Git status and log checks are covered in great detail wherein students starts appreciating the beauty of Git.
The section “Git Branching basics” covers branching basic concepts. Branching is a advanced concept and attempt has been made not to burden the student with gory details of this advanced concept.
The section “Undoing changes in a Git repository” covers great details on the mechanisms you can use to undo changes in Git repository in case one changes his mind and want to revert changes or fix any mess up. Techniques such as resetting, reverting, cleaning and checkout for a Git repository have been treated with great care and detail.
The section “Pushing into GitHub” makes things hotter when the students starts learning how to extend one’s arms beyond his local repository in local machine to a remote repository on GitHub. The local-remote interaction and play is fascinating as the lectures in this section unravels usage if Git and GitHub in step-by-step manner.
The section “GitHub via SSH” is an advanced one and hence had been kept for the last. Here you will learn how to connect with GitHub via SSH protocol. In the learning process, the student will learns basics of public key cryptography and it’s implementation w.r.t GitHub. SSH key generation and using them to connect local Git repository and GitHub forms a stimulating walk in the entire learning path.
The section “Making Git bash friendlier and productive” will empower you to have Git bash prompt that allows customization in terms of it’s content, color and functionality. It makes Git commands and their output highly readable and adds more expressiveness and color to all operations in the git bash terminal.
The section “Installing and Configuring default text editor for Git” demonstrates how to install a graphical text editor (Sublime Text) and configure it as the default text editor for Git.
The section “Installing and Configuring Diff and Merge tool for Git repository” demonstrates how to install and configure “p4merge” as Git diff and merge tool.
The section “Git Comparison with Git Diff Tool (p4merge)” demonstrates how to perform Git comparisons between various sections of a Git repository using “p4merge”
The section “Git Branching and Merging techniques” demonstrates advanced techniques for Git Branching and Merging that includes – fast-forward merge, no-fast-forward merge, 3-way merge along with merge conflict resolution process.
The section “Commit History rewriting in Git” demonstrates various technique for modifying commit history to suit your project needs. You can amend your commits, do a rebase and so on.
The section “Git Tagging” demonstrates how to use tags to mark production releases with tags and how to manipulate tags for best outcome
The section “Git Toolset” demonstrates git tool “stash” which is an extremely convenient tool to save off unfinished work.
On the final note in the section “Let’s wrap up”, the Instructor thanks the course taking students with some bonus tips!
Course Features
The course is heavily hands on with lots of great Lab sessions interspersed with brief slide presentations illustrating and unfurling the conceptual maze. All the commands that have been used in the relevant sections has been summarized in the form of text / pdf at the end of each section to consolidate the concepts that was laid down previously.
Udemy Money back guarantee!
If you enroll in this course, I guarantee you satisfaction of learning this hot technology with awesome lecture and Labs! However, there is nothing to loose, if you feel otherwise, since any Udemy course comes with 30 day money back guarantee! SO WHY WAIT! ENROLL IN THIS COURSE NOW!


Section 1: Introduction and Getting Started

Lecture 1 Course announcement: VERY IMPORTANT!

Lecture 2 Git Overview

Lecture 3 A bit of background of Git!

Lecture 4 How Git works – Part 1

Lecture 5 How Git works – Part 2

Lecture 6 Who am I

Lecture 7 How to go through the course – Part 1

Lecture 8 How to go through the course – Part 2

Lecture 9 Navigating an Udemy Course

Section 2: Git Setup and Installation

Lecture 10 Git Setup on Windows (Lab)

Lecture 11 Git Setup on Mac (Lab)

Lecture 12 Git Setup on Linux (Lab)

Section 3: Setting up a Git Repository

Lecture 13 Basics and Introduction – setting up a Git Repository

Lecture 14 Git Help system (Lab)

Lecture 15 Configuring author and email for a Git repository (Lab)

Lecture 16 Initializing an empty Git repository (Lab)

Lecture 17 Convert existing unversioned project to a Git repository (Lab)

Lecture 18 Git Command Summary resource (setting up a Git Repository)

Section 4: Enter GitHub!

Lecture 19 What is GitHub

Lecture 20 Another technique for creating Git repository on GitHub!

Lecture 21 What is fork and how to do it in GitHub (Lab)

Lecture 22 Copying a GitHub repository (Lab)

Lecture 23 Command Summary resource (Enter GitHub)

Section 5: Committing changes in Git

Lecture 24 Basics and Introduction – committing changes in Git

Lecture 25 Adding your changes in a Git Repository (Lab)

Lecture 26 How to unstage a tracked file in Git (Lab)

Lecture 27 Committing your changes in a Git Repository (Lab)

Lecture 28 Command Summary resources (Committing changes in Git)

Section 6: Inspecting what’s going on in a Git Repository

Lecture 29 Basics and Introduction – Inspecting what’s going on!

Lecture 30 How to check status in a Git Repository (Lab)

Lecture 31 How to check commit history in Git Repository (Lab)

Lecture 32 Command Summary resources (git status and git log)

Section 7: Git Branching basics

Lecture 33 Peek into Git branching (Lab)

Section 8: Undoing changes in a Git repository

Lecture 34 Checking out commits in a Git repository – Part 1 (Lab)

Lecture 35 Checking out commits in a Git repository – Part 2 (Lab)

Lecture 36 Checking out files in a Git repository (Lab)

Lecture 37 Reverting changes in a Git repository (Lab)

Lecture 38 Resetting Git repository – Part1 (Lab)

Lecture 39 Resetting Git repository – Part2 (Lab)

Lecture 40 Resetting Git repository – Part3 (Lab)

Lecture 41 Cleaning Git repository (Lab)

Lecture 42 Command Summary (Undoing changes in a Git repository)

Section 9: Pushing into GitHub

Lecture 43 Basics and Introduction – pushing into GitHub!

Lecture 44 Best practice – pulling changes from GitHub repository (Lab)

Lecture 45 Transferring your commits – pushing local changes into GitHub repository (Lab)

Lecture 46 GitHub changed default branch from “master” to “main” – Part 1

Lecture 47 GitHub changed default branch from “master” to “main” – Part 2

Lecture 48 GitHub changed default branch from “master” to “main” – Part 3

Lecture 49 GitHub changed default branch from “master” to “main” – Part 4

Lecture 50 Command Summary resource (Pushing into GitHub)

Section 10: GitHub via SSH

Lecture 51 Basic and Introduction – GitHub via SSH

Lecture 52 Do I already have SSH Keys (Lab)

Lecture 53 Let’s generate an SSH Key pair for local and GitHub usage (Lab)

Lecture 54 SSH Agent and keys (Lab)

Lecture 55 Errata: Lecture – SSH Agent and keys

Lecture 56 Adding the SSH Key to GitHub account (Lab)

Lecture 57 Checking your SSH connection with GitHub (Lab)

Lecture 58 Switching remote GitHub URL (Lab)

Lecture 59 Changing passphrase of SSH Key pair (Lab)

Lecture 60 Command Summary (GitHub via SSH)

Section 11: Custom Bash prompt in Git

Lecture 61 An Introduction Custom Bash prompt in Git (Lab)

Section 12: Installing and Configuring default text editor for Git

Lecture 62 Brief Overview of Git text editors (Lab)

Lecture 63 Installing and Configuring text editor (Sublime Text) for Git on Windows (Lab)

Lecture 64 Installing and Configuring text editor (Sublime Text) for Git on Linux (Lab)

Lecture 65 Installing and Configuring text editor (Sublime Text) for Git on Mac (Lab)

Lecture 66 Command Summary resource (Default text editor for Git )

Section 13: Installing and Configuring Diff and Merge tool for Git repository

Lecture 67 Brief Overview of Git diff and merge tools (Lab)

Lecture 68 Installing Git Diff and Merge tool (p4merge) for Windows (Lab)

Lecture 69 Configuring Git Diff and Merge tool (p4merge) for Windows (Lab)

Lecture 70 Installing Git Diff and Merge tool (p4merge) for Linux (Lab)

Lecture 71 Configuring Git Diff and Merge tool (p4merge) for Linux (Lab)

Lecture 72 Installing Git Diff and Merge tool (p4merge) for Mac (Lab)

Lecture 73 Configuring Git Diff and Merge tool (p4merge) for Mac (Lab)

Section 14: Git Comparison with Git Diff Tool (p4merge)

Lecture 74 Viewing and Comparing changes – Git Working directory vs Staged (Lab)

Lecture 75 Viewing and Comparing changes – Git Working directory vs Commit area (Lab)

Lecture 76 Viewing and Comparing changes – Git Staging area vs Commit area (Lab)

Lecture 77 Viewing and Comparing changes – between Git Commits (Lab)

Lecture 78 Viewing and Comparing changes – for a single file (Lab)

Lecture 79 Viewing and Comparing changes – Local vs Remote (Lab)

Section 15: Deep Dive into few Git Commands

Lecture 80 Git log command in-depth : Part 1 (Lab)

Lecture 81 Showing and Removing Git Remote

Lecture 82 More lectures will be added in this section in future!

Lecture 83 Command Summary (Git commands deep dive)

Section 16: Git Branching and Merging techniques

Lecture 84 Git Branching deep dive: branch deletions and renaming (Lab)

Lecture 85 Git Branching deep dive: git checkout (Lab)

Lecture 86 Git Merge using “fast-forward” (Lab)

Lecture 87 Git Merge using “NO fast-forward” (Lab)

Lecture 88 Git 3-way merge (Lab)

Lecture 89 Resolving Git Merge Conflicts – Part 1(Lab)

Lecture 90 Resolving Git Merge Conflicts – Part 2(Lab)

Lecture 91 Introduction to Git Cherry Pick

Lecture 92 Git Cherry pick – a comprehensive walkthrough (Lab)

Lecture 93 Command Summary (Git Branching and Merging)

Section 17: Commit History rewriting in Git

Lecture 94 Amending Git Commits (Lab)

Lecture 95 Git rebase Introduction (Lab)

Lecture 96 Git rebase implementation setup (Lab)

Lecture 97 Git rebase implementation (Lab)

Lecture 98 Resolving Git rebase conflict (Lab)

Lecture 99 An Introduction to git fetch (Lab)

Lecture 100 Git pull with rebase – Part 1 (Lab)

Lecture 101 Git pull with rebase – Part 2 (Lab)

Lecture 102 Git reflog: Part 1 (Lab)

Lecture 103 Git reflog: Part 2 (Lab)

Section 18: Git Tagging

Lecture 104 Git Tagging: Lightweight and Annotated (Lab)

Lecture 105 Git Tagging : Determining Tag Type (Lab)

Lecture 106 Git Tagging:Tag search (Lab)

Lecture 107 Git Tagging: compare, update, delete tags (Lab)

Lecture 108 Git Tagging: Pushing and Sharing all Tags (Lab)

Lecture 109 Git Tagging: Deleting pushed tags (Lab)

Lecture 110 Git Tagging: Pushing and Sharing Annotated Tags only (Lab)

Lecture 111 Git Tagging: Pushing Annotated Tags by default (Lab)

Lecture 112 Git Tagging: Checking out tags (Lab)

Section 19: Do much more with GitHub

Lecture 113 Introducing Pull Request in GitHub

Lecture 114 Playing with Pull Request in GitHub (Lab)

Section 20: Git Toolset

Lecture 115 Git Stash Intro – Part 1: create, save, list & show (Lab)

Lecture 116 Git Stash Intro – Part 2: apply, drop, pop, clear (Lab)

Lecture 117 Git stash : Creating a Branch from a Stash (Lab)

Lecture 118 Git stash: Creative stashing (Lab)

Section 21: Making Git bash friendlier and productive

Lecture 119 Read this first!

Lecture 120 Customize Git bash prompt (Lab)

Lecture 121 Colorize Git bash prompt (Lab)

Lecture 122 Git plugin for branch information (Lab)

Lecture 123 Git plugin for working directory status information in Windows (Lab)

Lecture 124 Git plugin for working directory status information in Linux (Lab)

Lecture 125 Git plugin for working directory status information in Mac (Lab)

Lecture 126 Git plugin for command auto-completion (Lab)

Lecture 127 Command Summary (Making Git bash friendlier and productive)

Section 22: Git Tips & Tricks

Lecture 128 IMPORTANT: Read this one!

Lecture 129 Can we rename the remote repo reference (LAB)

Lecture 130 What is Git Squash (LAB)

Lecture 131 Can we have multiple remotes in Git (LAB)

Section 23: Let’s wrap up this Git course!

Lecture 132 Final words!

Lecture 133 Bonus Lecture: Special Offers

Software developers, engineers, web designers, freelancers new to Git,Anybody interested in using Git as a version control system,Those who want to use GitHub as a web-based Git repository hosting service,Enterprise managers looking to enhance team skills with Git and GitHub knowledge,This course is not for Git users whose Git & GitHub knowledge is at expert level

Course Information:

Udemy | English | 14h 3m | 5.96 GB
Created by: Bibhash Roy

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top