Course Highlights
  • Understand how Git works behind the scenes
  • Explain the difference Git objects: trees, blobs, commits, and annotated tags
  • Master the essential Git workflow: adding & committing
  • Work with Git branches
  • Perform Git merges and resolve merge conflicts
  • Use Git diff to reveal changes over time
  • Master Git stashing
  • Undo changes using git restore, git revert, and git reset
  • Work with local and remote repositories
  • Master collaboration workflows: pull requests, "fork & clone", etc.
  • Squash, clean up, and rewrite history using interactive rebase
  • Retrieve "lost" work using git reflogs
  • Write custom and powerful Git aliases
  • Mark releases and versions using Git tags
  • Host static websites using Github Pages
  • Create markdown READMEs
  • Share code and snippets using Github Gists
Curriculum

5 Topics
Welcome To The Course!
Join Our Community!
What The Course Covers
A Note On The Exercises
Accessing The Slides & Diagrams

6 Topics
What Really Matters In This Section
What Exactly Is Git?
Visualizing Git
A Quick History Of Git
Who Uses Git?
Git Vs. Github: What's The Difference?

10 Topics
What Really Matters In This Section
Installing Git: Terminal Vs. GUIs
WINDOWS Git Installation
MAC Git Installation
Configuring Your Git Name & Email
Installing GitKraken (Our GUI)
Terminal Crash Course: Introduction
Terminal Crash Course: Navigation
Terminal Crash Course: Creating Files & Folders
Terminal Crash Course: Deleting Files & Folders

10 Topics
What Really Matters In This Section
What Is A Git Repo?
Our First Commands: Git Init and Git Status
The Mysterious .Git Folder
A Common Early Git Mistake
The Committing Workflow Overview
Staging Changes With Git Add
Finally The Git Commit Command!
The Git Log Command (And More Committing)
Committing Exercise

9 Topics
What Really Matters In This Section
Navigating The Git Documentation
Keeping Your Commits Atomic
Commit Messages: Present Or Past Tense?
Escaping VIM & Configuring Git's Default Editor
A Closer Look At The Git Log Command
Committing With A GUI
Fixing Mistakes With Amend
Ignoring Files w/ .gitignore

12 Topics
What Really Matters In This Section
Introducing Branches
The Master Branch (Or Is It Main?)
What On Earth Is HEAD?
Viewing All Branches With Git Branch
Creating & Switching Branches
More Practice With Branching
Another Option: Git Checkout Vs. Git Switch
Switching Branches With Unstaged Changes?
Deleting & Renaming Branches
How Git Stores HEAD & Branches
Branching Exercise

9 Topics
What Really Matters In This Section
An Introduction To Merging
Performing A Fast Forward Merge
Visualizing Merges
Generating Merge Commits
Oh No! Merge Conflicts!
Resolving Merge Conflicts
Using VSCode To Resolve Conflicts
Merging Exercise

11 Topics
What Really Matters In This Section
Introducing The Git Diff Command
A Guide To Reading Diffs
Viewing Unstaged Changes
Viewing Working Directory Changes
Viewing Staged Changes
Diffing Specific Files
Comparing Changes Across Branches
Comparing Changes Across Commits
Visualizing Diffs With GUIs
Diff Exercise

8 Topics
What Really Matters In This Section
Why We Need Git Stash
Stashing Basics: Git Stash Save & Pop
Practicing With Git Stash
Git Stash Apply
Working With Multiple Stashes
Dropping & Clearing The Stash
Stashing Exercise

10 Topics
What Really Matters In This Section
Checking Out Old Commits
Re-Attaching Our Detached HEAD!
Referencing Commits Relative to HEAD
Discarding Changes With Git Checkout
Un-Modifying With Git Restore
Un-Staging Changes With Git Restore
Undoing Commits With Git Reset
Reverting Commits With...Git Revert
Undoing Changes Exercise

16 Topics
What Really Matters In This Section
What Does Github Do For Us?
Why You Should Use Github!
Cloning Github Repos With Git Clone
Cloning Non-Github Repos
Github Setup: SSH Config
Creating Our First Github Repo!
A Crash Course on Git Remotes
Introducing Git Push
Touring A Github Repo
Practice With Git Push
A Closer Look At Git Push
What does "git push -u" mean?
Another Github Workflow: Cloning First
Main & Master: Github Default Branches
Github Basics Exercise

9 Topics
What Really Matters In This Section
Remote Tracking Branches: WTF Are They?
Checking Out Remote Tracking Branches
Working With Remote Branches
Git Fetch: The Basics
Demonstrating Git Fetch
Git Pull: The Basics
Git Pull & Merge Conflicts
A Shorter Syntax For Git Pull?

10 Topics
What Really Matters In This Section
Github Repo Visibility: Public Vs. Private
Adding Github Collaborators
Github Collaboration Demo
What are READMEs?
A Markdown Crash Course
Adding a README To A Project
Creating Github Gists
Introducing Github Pages
Github Pages Demo

14 Topics
What Really Matters In This Section
The Pitfalls Of A Centralized Workflow
Centralized Workflow Demonstration
The All-Important Feature Branch Workflow
Feature Branch Workflow Demo
Merging Feature Branches
Introducing Pull Requests
Making Our First Pull Request
Merging Pull Requests With Conflicts
Configuring Branch Protection Rules
Introducing Forking
Forking Demonstration
The Fork & Clone Workflow
Fork & Clone Workflow Demonstration

7 Topics
What Really Matters In This Section
Why is Rebasing Scary? Is it?
Comparing Merging & Rebasing
Rebase Demo Pt 1: Setup & Merging
Rebasing Demo Pt 2: Actually Rebasing
The Golden Rule: When NOT to Rebase
Handling Conflicts & Rebasing

5 Topics
What Really Matters In This Section
Introducing Interactive Rebase
Rewording Commits With Interactive Rebase
Fixing Up & Squashing Commits With Interactive Rebase
Dropping Commits With Interactive Rebase

11 Topics
What Really Matters In This Section
The Idea Behind Git Tags
A Side Note On Semantic Versioning
Viewing & Searching Tags
Comparing Tags With Git Diff
Creating Lightweight Tags
Creating Annotated Tags
Tagging Previous Commits
Replacing Tags With Force
Deleting Tags
IMPORTANT: Pushing Tags

12 Topics
What Really Matters In This Section
Working With The Local Config File
Inside Git: The Refs Directory
Inside Git: The HEAD file
Inside Git: The Objects Directory
A Crash Course On Hashing Functions
Git As A Key-Value Datastore
Hashing With Git Hash-Object
Retrieving Data With Git Cat-File
Deep Dive Into Git Objects: Blobs
Deep Dive Into Git Objects: Trees
Deep Dive Into Git Objects: Commits

8 Topics
What Really Matters In This Section
Introducing Reflogs
The Limitations of Reflogs
The Git Reflog Show Command
Passing Reflog References Around
Time-Based Reflog Qualifiers
Rescuing Lost Commits With Reflog
Undoing A Rebase w/ Reflog - It's A Miracle!

6 Topics
What Matters In This Section
The Global Git Config File
Writing Our First Git Alias
Setting Aliases From The Command Line
Aliases With Arguments
Exploring Existing Useful Aliases Online

  Write a Review

The Git & Github Bootcamp

Go to Paid Course