4.3 out of 5
4.3
949 reviews on Udemy

Git & GitHub Complete Masterclass : Beginner to Git Expert

Most comprehensive, STEP by STEP Git & GitHub tutorial with great & easy to understand examples and Quizzes.
Instructor:
Bibhash Roy
8,265 students enrolled
English More
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

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!

Introduction and Getting Started

1
Course announcement: VERY IMPORTANT!
2
Git Overview

What is Git and it's position in the technology space

3
A bit of background of Git!

A brief historical perspective of Git

4
How Git works - Part 1

Layering the core concepts of a Git based version control system

5
How Git works - Part 2

Layering the core concepts of a Git based version control system


6
Who am I

Instructor Introduction for this Git course!

7
How to go through the course - Part 1

explains how to follow this Git based course with some guidelines


8
How to go through the course - Part 2

explains how to follow this Git based course with some guidelines

9
Git Intro and Overview - QUIZ

The questions in this quiz will test your understanding of the lecture "Introduction and Getting Started"

Git Setup and Installation

1
Git Setup on Windows (Lab)

Shows how to install Git on Windows in LAB environment


2
Git Setup on Mac (Lab)

Shows how to install Git on Macintosh in LAB environment

3
Git Setup on Linux (Lab)

Shows how to install Git on Windows in LAB environment

Setting up a Git Repository

1
Basics and Introduction - setting up a Git Repository

Overview of Git repository creation process!

2
Git Help system (Lab)

Here you will learn how to access Git help system


3
Configuring author and email for a Git repository (Lab)

Author name and email configuration on Git

4
Initializing an empty Git repository (Lab)

How to create a Git repository from scratch

5
Convert existing unversioned project to a Git repository (Lab)

How to create a Git repository from an existing code base

6
Git Command Summary resource (setting up a Git Repository)

A summary of Git commands learned in this section

7
Setting up a Gt Repository - QUIZ

Enter GitHub!

1
What is GitHub

Introducing GitHub

2
Another technique for creating Git repository on GitHub!

Using a GitHub project to create a repository locally

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

You will learn how to fork a GitHub project

4
Copying a GitHub repository (Lab)

You will learn how to clone a GitHub repository

5
Command Summary resource (Enter GitHub)

Summary of Git commands used in this section

6
Enter GitHub - QUIZ

Committing changes in Git

1
Basics and Introduction - committing changes in Git

Overview of git commit process

2
Adding your changes in a Git Repository (Lab)

You will learn how to do a git add in a Git Repository

3
Committing your changes in a Git Repository (Lab)

You will learn how to use git commit in a Git Repository

4
Command Summary resources (Committing changes in Git)

Summary of Git commands used in this section

5
Committing changes in Git - QUIZ

Inspecting what's going on in a Git Repository

1
Basics and Introduction - Inspecting what's going on!

Overview of status and log checks in a Git Repository

2
How to check status in a Git Repository (Lab)

You will learn how to use git status

3
How to check commit history in Git Repository (Lab)

You will learn how to use git log

4
Command Summary resources (git status and git log)

Summary of Git commands used in this section

5
Inspecting what's going on in a Git Repository - QUIZ

Git Branching basics

1
Peek into Git branching (Lab)

This covers some basic branching commands with explanation of a real world development scenario.

Undoing changes in a Git repository

1
Checking out commits in a Git repository - Part 1 (Lab)

Here you will learn various dimensions of "git checkout" command used in a Git repository - this is the first part.

2
Checking out commits in a Git repository - Part 2 (Lab)

Here you will learn various dimensions of "git checkout" command used in a Git repository - this is the second part.

3
Checking out files in a Git repository (Lab)

Here you will learn another dimension of "git checkout" command  w.r.t files used in a Git repository.

4
Reverting changes in a Git repository (Lab)

Here you will learn how to revert changes in a Git repository

5
Undoing changes in a Git Repository : QUIZ-1
6
Resetting Git repository - Part1 (Lab)

Here you will learn how to reset Git repository - this is the first part in the series

7
Resetting Git repository - Part2 (Lab)

Here you will learn how to reset Git repository - this is the second part in the series

8
Resetting Git repository - Part3 (Lab)

Here you will learn how to reset Git repository - this is the third part in the series

9
Undoing changes in a Git Repository : QUIZ-2
10
Cleaning Git repository (Lab)

Here you will learn how to clean the Git repository

11
Command Summary (Undoing changes in a Git repository)
12
Undoing changes in a Git Repository : QUIZ-3

Pushing into GitHub

1
Basics and Introduction - pushing into GitHub!

Overview of Git pull / push process

2
Best practice - pulling changes from GitHub repository (Lab)

You will learn how to use the git pull process

3
Transferring your commits - pushing local changes into GitHub repository (Lab)

You will learn how to use the Git push process

4
Command Summary resource (Pushing into GitHub)

Summary of commands in this section

5
Pushing into GitHub - QUIZ

GitHub via SSH

1
Basic and Introduction - GitHub via SSH

Overview of transacting with GitHub using SSH protocol

2
Do I already have SSH Keys (Lab)

Here you will learn - how to locate existing SSH keys in your Git environment

3
Let's generate an SSH Key pair for local and GitHub usage (Lab)

Here you will learn, how to generate SSH key via command line in a Git environment

4
SSH Agent and keys (Lab)

Here you will learn about enabling ssh agent in order to use SSH from your local Git repository

5
Adding the SSH Key to GitHub account (Lab)

Here you will learn, how to store the public key in GitHub

6
Checking your SSH connection with GitHub (Lab)

Test your SSH connection with your local Git repository and GitHub

7
Switching remote GitHub URL (Lab)

Switch from HTTPS to SSH and vice-versa between local Git Repository and GitHub

8
Changing passphrase of SSH Key pair (Lab)

Find out how to change password of SSH Key in your Git repository!

9
Command Summary (GitHub via SSH)

Command Summary in this section

10
GitHub via SSH - QUIZ

Custom Bash prompt in Git

1
An Introduction Custom Bash prompt in Git (Lab)

Here you will learn the usage of custom bash prompt

Installing and Configuring default text editor for Git

1
Brief Overview of Git text editors (Lab)

Here you will get a brief overview regarding Git based text editors

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

Here you will learn how to install Sublime Text editor and configure it to be a default text editor of Git on Windows

3
Installing and Configuring text editor (Sublime Text) for Git on Linux (Lab)
Here you will learn how to install Sublime Text editor and configure it to be a default text editor of Git on

Linux

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

Here you will learn how to install Sublime Text editor and configure it to be a default text editor of Git on Mac

5
Command Summary resource (Default text editor for Git )
6
Default text editor for a Git Installation - QUIZZ

Default text editor for a Git Installation

Installing and Configuring Diff and Merge tool for Git repository

1
Brief Overview of Git diff and merge tools (Lab)
2
Installing Git Diff and Merge tool (p4merge) for Windows (Lab)
3
Configuring Git Diff and Merge tool (p4merge) for Windows (Lab)
4
Installing Git Diff and Merge tool (p4merge) for Linux (Lab)
5
Configuring Git Diff and Merge tool (p4merge) for Linux (Lab)
6
Installing Git Diff and Merge tool (p4merge) for Mac (Lab)
7
Configuring Git Diff and Merge tool (p4merge) for Mac (Lab)
8
Installing and Configuring Diff and Merge tool for Git Repository - QUIZ

Git Comparison with Git Diff Tool (p4merge)

1
Viewing and Comparing changes - Git Working directory vs Staged (Lab)

Here you will learn how to compare changes - Git Working directory vs Staged

2
Viewing and Comparing changes - Git Working directory vs Commit area (Lab)

Here you will learn how to compare changes between working directory and commit area (repository)

3
Viewing and Comparing changes - Git Staging area vs Commit area (Lab)
4
Viewing and Comparing changes - between Git Commits (Lab)
5
Viewing and Comparing changes - for a single file (Lab)
6
Viewing and Comparing changes - Local vs Remote (Lab)
7
Git Comparison with Git Diff Tool (p4merge) - QUIZ 1

Deep Dive into few Git Commands

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.3
4.3 out of 5
949 Ratings

Detailed Rating

Stars 5
481
Stars 4
314
Stars 3
105
Stars 2
25
Stars 1
24
f61f5a57a550568509d41dd793c26162
30-Day Money-Back Guarantee

Includes

12 hours on-demand video
12 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion