Complete Git and GitHub Masterclass : Beginner to Git Expert

Complete Git and GitHub Masterclass : Beginner to Git Expert

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 11.5 Hours | 1.47 GB

Most comprehensive, STEP by STEP Git & GitHub tutorial with great examples; Upcoming: Git Workflow, BitBucket and more!

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!

Table of Contents

Introduction and Getting Started
1 Course Updates VERY IMPORTANT
2 Git Overview
3 A bit of background of Git
4 How Git works – Part 1
5 How Git works – Part 2
6 Who am I
7 How to go through the course – Part 1
8 How to go through the course – Part 2
Git Intro and Overview – QUIZ

Git Setup and Installation
9 Git Setup on Windows Lab
10 Git Setup on Mac Lab
11 Git Setup on Linux Lab

Setting up a Git Repository
12 Basics and Introduction – setting up a Git Repository
13 Git Help system Lab
14 Configuring author and email for a Git repository Lab
15 Initializing an empty Git repository Lab
16 Convert existing unversioned project to a Git repository Lab
17 Git Command Summary resource setting up a Git Repository
Setting up a Gt Repository – QUIZ

Enter GitHub
18 What is GitHub
19 Another technique for creating Git repository on GitHub
20 What is fork and how to do it in GitHub Lab
21 Copying a GitHub repository Lab
22 Command Summary resource Enter GitHub
Enter GitHub – QUIZ

Committing changes in Git
23 Basics and Introduction – committing changes in Git
24 Adding your changes in a Git Repository Lab
25 Committing your changes in a Git Repository Lab
26 Command Summary resources Committing changes in Git
Committing changes in Git – QUIZ

Inspecting whats going on in a Git Repository
27 Basics and Introduction – Inspecting whats going on
28 How to check status in a Git Repository Lab
29 How to check commit history in Git Repository Lab
30 Command Summary resources git status and git log
Inspecting whats going on in a Git Repository – QUIZ

Git Branching basics
31 Peek into Git branching Lab

Undoing changes in a Git repository
32 Checking out commits in a Git repository – Part 1 Lab
33 Checking out commits in a Git repository – Part 2 Lab
34 Checking out files in a Git repository Lab
35 Reverting changes in a Git repository Lab
36 Resetting Git repository – Part1 Lab
37 Resetting Git repository – Part2 Lab
38 Resetting Git repository – Part3 Lab
39 Cleaning Git repository Lab
40 Command Summary Undoing changes in a Git repository
Undoing changes in a Git Repository QUIZ-1
Undoing changes in a Git Repository QUIZ-2
Undoing changes in a Git Repository QUIZ-3

Pushing into GitHub
41 Basics and Introduction – pushing into GitHub
42 Best practice – pulling changes from GitHub repository Lab
43 Transferring your commits – pushing local changes into GitHub repository Lab
44 Command Summary resource Pushing into GitHub
Pushing into GitHub – QUIZ

GitHub via SSH
45 Basic and Introduction – GitHub via SSH
46 Do I already have SSH Keys Lab
47 Lets generate an SSH Key pair for local and GitHub usage Lab
48 SSH Agent and keys Lab
49 Adding the SSH Key to GitHub account Lab
50 Checking your SSH connection with GitHub Lab
51 Switching remote GitHub URL Lab
52 Changing passphrase of SSH Key pair Lab
53 Command Summary GitHub via SSH
GitHub via SSH – QUIZ

Custom Bash prompt in Git
54 An Introduction Custom Bash prompt in Git Lab

Installing and Configuring default text editor for Git
55 Brief Overview of Git text editors Lab
56 Installing and Configuring text editor Sublime Text for Git on Windows Lab
57 Installing and Configuring text editor Sublime Text for Git on Linux Lab
58 Installing and Configuring text editor Sublime Text for Git on Mac Lab
59 Command Summary resource Default text editor for Git
Default text editor for a Git Installation – QUIZZ

Installing and Configuring Diff and Merge tool for Git repository
60 Brief Overview of Git diff and merge tools Lab
61 Installing Git Diff and Merge tool p4merge for Windows Lab
62 Configuring Git Diff and Merge tool p4merge for Windows Lab
63 Installing Git Diff and Merge tool p4merge for Linux Lab
64 Configuring Git Diff and Merge tool p4merge for Linux Lab
65 Installing Git Diff and Merge tool p4merge for Mac Lab
66 Configuring Git Diff and Merge tool p4merge for Mac Lab

Git Comparison with Git Diff Tool p4merge
67 Viewing and Comparing changes – Git Working directory vs Staged Lab
68 Viewing and Comparing changes – Git Working directory vs Commit area Lab
69 Viewing and Comparing changes – Git Staging area vs Commit area Lab
70 Viewing and Comparing changes – between Git Commits Lab
71 Viewing and Comparing changes – for a single file Lab
72 Viewing and Comparing changes – Local vs Remote Lab

Deep Dive into few Git Commands
73 Git log command in-depth Part 1 Lab
74 More lectures will be added in this section this weekend

Git Branching and Merging techniques
75 Git Branching deep dive branch deletions and renaming Lab
76 Git Branching deep dive git checkout Lab
77 Git Merge using fast-forward Lab
78 Git Merge using NO fast-forward Lab
79 Git 3-way merge Lab
80 Resolving Git Merge Conflicts – Part 1Lab
81 Resolving Git Merge Conflicts – Part 2Lab

Commit History rewriting in Git
82 Amending Git Commits Lab
83 Git rebase Introduction Lab
84 Git rebase implementation setup Lab
85 Git rebase implementation Lab
86 Resolving Git rebase conflict Lab
87 An Introduction to git fetch Lab
88 Git pull with rebase – Part 1 Lab
89 Git pull with rebase – Part 2 Lab
90 Git reflog Part 1 Lab
91 Git reflog Part 2 Lab

Git Tagging
92 Git Tagging Lightweight and Annotated Lab
93 Git Tagging Determining Tag Type Lab
94 Git TaggingTag search Lab
95 Git Tagging compare update delete tags Lab
96 Git Tagging Pushing and Sharing all Tags Lab
97 Git Tagging Deleting pushed tags Lab
98 Git Tagging Pushing and Sharing Annotated Tags only Lab
99 Git Tagging Pushing Annotated Tags by default Lab
100 Git Tagging Checking out tags Lab

Git Toolset
101 Git Stash Intro – Part 1 create save list show Lab
102 Git Stash Intro – Part 2 apply drop pop clear Lab
103 Git stash Creating a Branch from a Stash Lab
104 Git stash Creative stashing Lab

Making Git bash friendlier and productive
105 Read this first
106 Customize Git bash prompt Lab
107 Colorize Git bash prompt Lab
108 Git plugin for branch information Lab
109 Git plugin for working directory status information in Windows Lab
110 Git plugin for working directory status information in Linux Lab
111 Git plugin for working directory status information in Mac Lab
112 Git plugin for command auto-completion Lab

Lets wrap up this Git course
113 Final words
114 Bonus Lecture Special Offers