Git And Github Bootcamp

Tags: Git

Master the essentials and the tricky bits: rebasing, squashing, stashing, reflogs, blobs, trees, & more!

Last updated 2022-01-10 | 4.8

- 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

What you'll learn

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

* Requirements

* Basic computer skills

Description

  • 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

Course content

20 sections • 187 lectures

Welcome To The Course! Preview 04:26

What The Course Covers Preview 03:52

A Note On The Exercises Preview 02:07

Accessing The Slides & Diagrams Preview 01:09

What Really Matters In This Section Preview 01:24

What Exactly Is Git? Preview 03:08

Visualizing Git Preview 06:49

A Quick History Of Git Preview 05:03

Who Uses Git? Preview 05:58

Git Vs. Github: What's The Difference? Preview 03:25

What Really Matters In This Section Preview 01:55

Installing Git: Terminal Vs. GUIs Preview 06:16

WINDOWS Git Installation Preview 08:53

MAC Git Installation Preview 03:27

Configuring Your Git Name & Email Preview 04:13

Installing GitKraken (Our GUI) Preview 03:46

Terminal Crash Course: Introduction Preview 03:04

Terminal Crash Course: Navigation Preview 12:18

Terminal Crash Course: Creating Files & Folders Preview 09:47

Terminal Crash Course: Deleting Files & Folders Preview 06:42

What Really Matters In This Section Preview 01:12

What Is A Git Repo? Preview 04:05

Our First Commands: Git Init and Git Status Preview 03:54

The Mysterious .Git Folder Preview 03:34

A Common Early Git Mistake Preview 03:32

The Committing Workflow Overview Preview 06:24

Staging Changes With Git Add Preview 07:15

Finally, The Git Commit Command! Preview 04:51

The Git Log Command (And More Committing) Preview 08:24

Committing Exercise Preview 07:50

What Really Matters In This Section Preview 02:13

Navigating The Git Documentation Preview 04:06

Keeping Your Commits Atomic Preview 06:20

Commit Messages: Present Or Past Tense? Preview 03:09

Escaping VIM & Configuring Git's Default Editor Preview 09:01

A Closer Look At The Git Log Command Preview 04:06

Committing With A GUI Preview 06:25

Fixing Mistakes With Amend Preview 04:59

Ignoring Files w/ .gitignore Preview 10:41

What Really Matters In This Section Preview 02:05

Introducing Branches Preview 05:32

The Master Branch (Or Is It Main?) Preview 04:43

What On Earth Is HEAD? Preview 05:36

Viewing All Branches With Git Branch Preview 01:22

Creating & Switching Branches Preview 07:56

More Practice With Branching Preview 05:27

Another Option: Git Checkout Vs. Git Switch Preview 04:38

Switching Branches With Unstaged Changes? Preview 03:56

Deleting & Renaming Branches Preview 05:33

How Git Stores HEAD & Branches Preview 05:27

Branching Exercise Preview 08:09

What Really Matters In This Section Preview 01:46

An Introduction To Merging Preview 05:16

Performing A Fast Forward Merge Preview 04:31

Visualizing Merges Preview 04:36

Generating Merge Commits Preview 09:43

Oh No! Merge Conflicts! Preview 03:18

Resolving Merge Conflicts Preview 08:13

Using VSCode To Resolve Conflicts Preview 07:41

Merging Exercise Preview 11:06

What Really Matters In This Section Preview 01:51

Introducing The Git Diff Command Preview 04:29

A Guide To Reading Diffs Preview 10:25

Viewing Unstaged Changes Preview 03:51

Viewing Working Directory Changes Preview 03:28

Viewing Staged Changes Preview 02:05

Diffing Specific Files Preview 02:39

Comparing Changes Across Branches Preview 04:44

Comparing Changes Across Commits Preview 02:09

Visualizing Diffs With GUIs Preview 06:25

Diff Exercise Preview 11:14

What Really Matters In This Section Preview 01:46

Why We Need Git Stash Preview 07:45

Stashing Basics: Git Stash Save & Pop Preview 03:43

Practicing With Git Stash Preview 03:25

Git Stash Apply Preview 04:10

Working With Multiple Stashes Preview 06:41

Dropping & Clearing The Stash Preview 02:12

Stashing Exercise Preview 05:04

What Really Matters In This Section Preview 02:09

Checking Out Old Commits Preview 07:09

Re-Attaching Our Detached HEAD! Preview 05:34

Referencing Commits Relative to HEAD Preview 04:02

Discarding Changes With Git Checkout Preview 05:16

Un-Modifying With Git Restore Preview 06:05

Un-Staging Changes With Git Restore Preview 04:03

Undoing Commits With Git Reset Preview 07:45

Reverting Commits With...Git Revert Preview 06:26

Undoing Changes Exercise Preview 10:05

What Really Matters In This Section Preview 01:39

What Does Github Do For Us? Preview 06:23

Why You Should Use Github! Preview 04:36

Cloning Github Repos With Git Clone Preview 08:14

Cloning Non-Github Repos Preview 02:55

Github Setup: SSH Config Preview 07:31

Creating Our First Github Repo! Preview 06:02

A Crash Course on Git Remotes Preview 07:04

Introducing Git Push Preview 08:48

Touring A Github Repo Preview 03:40

Practice With Git Push Preview 03:59

A Closer Look At Git Push Preview 06:07

What does "git push -u" mean? Preview 05:33

Another Github Workflow: Cloning First Preview 04:19

Main & Master: Github Default Branches Preview 06:10

Github Basics Exercise Preview 10:25

What Really Matters In This Section Preview 01:20

Remote Tracking Branches: WTF Are They? Preview 05:59

Checking Out Remote Tracking Branches Preview 07:18

Working With Remote Branches Preview 09:33

Git Fetch: The Basics Preview 05:46

Demonstrating Git Fetch Preview 09:26

Git Pull: The Basics Preview 04:12

Git Pull & Merge Conflicts Preview 05:12

A Shorter Syntax For Git Pull? Preview 05:08

What Really Matters In This Section Preview 02:30

Github Repo Visibility: Public Vs. Private Preview 05:37

Adding Github Collaborators Preview 04:03

Github Collaboration Demo Preview 07:16

What are READMEs? Preview 04:28

A Markdown Crash Course Preview 09:47

Adding a README To A Project Preview 04:41

Creating Github Gists Preview 05:55

Introducing Github Pages Preview 05:03

Github Pages Demo Preview 09:55

What Really Matters In This Section Preview 02:31

The Pitfalls Of A Centralized Workflow Preview 07:41

Centralized Workflow Demonstration Preview 11:36

The All-Important Feature Branch Workflow Preview 07:12

Feature Branch Workflow Demo Preview 13:13

Merging Feature Branches Preview 04:33

Introducing Pull Requests Preview 09:06

Making Our First Pull Request Preview 06:25

Merging Pull Requests With Conflicts Preview 11:33

Configuring Branch Protection Rules Preview 06:21

Introducing Forking Preview 03:28

Forking Demonstration Preview 05:29

The Fork & Clone Workflow Preview 06:30

Fork & Clone Workflow Demonstration Preview 11:19

What Really Matters In This Section Preview 01:32

Why is Rebasing Scary? Is it? Preview 02:36

Comparing Merging & Rebasing Preview 07:12

Rebase Demo Pt 1: Setup & Merging Preview 07:14

Rebasing Demo Pt 2: Actually Rebasing Preview 09:23

The Golden Rule: When NOT to Rebase Preview 05:08

Handling Conflicts & Rebasing Preview 06:27

What Really Matters In This Section Preview 01:08

Introducing Interactive Rebase Preview 03:13

Rewording Commits With Interactive Rebase Preview 10:44

Fixing Up & Squashing Commits With Interactive Rebase Preview 07:17

Dropping Commits With Interactive Rebase Preview 03:27

What Really Matters In This Section Preview 01:41

The Idea Behind Git Tags Preview 03:41

A Side Note On Semantic Versioning Preview 06:58

Viewing & Searching Tags Preview 06:23

Comparing Tags With Git Diff Preview 04:22

Creating Lightweight Tags Preview 03:56

Creating Annotated Tags Preview 03:35

Tagging Previous Commits Preview 01:35

Replacing Tags With Force Preview 01:33

Deleting Tags Preview 00:51

IMPORTANT: Pushing Tags Preview 03:40

What Really Matters In This Section Preview 02:01

Working With The Local Config File Preview 09:55

Inside Git: The Refs Directory Preview 06:57

Inside Git: The HEAD file Preview 02:24

Inside Git: The Objects Directory Preview 02:51

A Crash Course On Hashing Functions Preview 07:01

Git As A Key-Value Datastore Preview 03:51

Hashing With Git Hash-Object Preview 08:42

Retrieving Data With Git Cat-File Preview 08:51

Deep Dive Into Git Objects: Blobs Preview 03:07

Deep Dive Into Git Objects: Trees Preview 08:57

Deep Dive Into Git Objects: Commits Preview 14:05

What Really Matters In This Section Preview 01:34

Introducing Reflogs Preview 06:24

The Limitations of Reflogs Preview 01:18

The Git Reflog Show Command Preview 07:05

Passing Reflog References Around Preview 04:50

Time-Based Reflog Qualifiers Preview 05:27

Rescuing Lost Commits With Reflog Preview 07:08

Undoing A Rebase w/ Reflog - It's A Miracle! Preview 09:44

What Matters In This Section Preview 01:04

The Global Git Config File Preview 04:24

Writing Our First Git Alias Preview 03:12

Setting Aliases From The Command Line Preview 01:34

Aliases With Arguments Preview 04:19

Exploring Existing Useful Aliases Online Preview 05:35