Course Description

This course is designed to be a comprehensive, step-by-step approach to learning the Git source control specifically designed for Windows users, which means no prior knowledge or experience is required but students will emerge at the end with a very solid understanding and hands-on experience with Git and related source control concepts. Since this course is design for Windows users in mind, we will cover both command line and graphical clients for Git while learning the underlying concepts. If you use other operating systems too, most of the concepts will transfer over without much effort.

Course Outline

Course Introduction and Overview provides an introduction to this course and the Git source control system and sets the stage for the rest of the course.

After the introduction, this first thing we do is run through the Installation process. If you don’t want to watch installation videos, you can simply follow the installation notes at the end of that section.

For those not familiar with the command line or Bash shell environment, I provide a handy Git Bash section for those interested.

Quick Start a very quick (15 minutes), hands-on introduction to Git. We start off by signing up for GitHub, creating a repository there, the makiing a local copy (clone), local changes (add/commit) and then update GitHub with our changes (push). This is the most common workflow developers will do using Git.

Once we have worked through the basic add/commit/push workflow, we can do the same steps, and a few more, using the Windows Command Prompt and PowerShell— really to show how the Git-related command work identically regardless of the shell used.

To prepare for the rest of the course, and a more common developer setup, we will install and configure a Text Editor (Atom) to work seamlessly with Git.

In Basic Commands, we walk through all the foundational commands needed to start a new project managed by Git (or enable Git for an existing project) all the way through making commits, including common file operations like moving and deleting files. We also cover how to exclude the wrong files from accidentally being committed and how to review your repository’s history.

With a strong foundation in place, we explore ways to make Comparisons in Git, including all the different local states, between commits, and between local and remote repositories.

We give great attending to Branching and Merging in Git. We start off with the simple “happy path” and learn about “Fast-Forward” merges and how to control them. The we walk through common “automatic” merges. Then, we cause trouble on purpose so we can step through resolving conflicting merges with our visual merge tool. Finally, we work with branches on the GitHub hosting service.

With a solid foundation in place using Git on the command line, we will look at various Git graphical clients starting with the official Git GUI client on Windows. With Git GUI, we cover many of the same commands, but simply using the graphical client instead of the command line.

Course Features

Presentations provide audio/video training of conceptual ideas. Since few like slide-ware presentations, slide-presentations are kept to a minimum.

Screencasts provide a video of the instructor’s computer system with any actions, commands, or screens displayed and narrated. There is over 5 hours of screencast based video training in order to step through each command or action in sufficient detail.

All videos are available in high quality 1080p / Full HD resolution for sharp and clear viewing on modern desktops and tablets although resolution delivery is dependent on student’s device capabilities detected by the Udemy video player.

Several attachments and document lectures throughout the course provide supplemental information, illustrations, or other reference material.

Moving Forward

This course will expand periodically to include more topics, supporting materials and bonus content! Some content may be in direct response to student feedback or discussions — so get engaged with the course discussions (Q&A) feature!

Chapter 1 : Introduction

  • Welcome
  • Audience and Approach
  • About the Instructor
  • Why Source Control
  • How Git Works
  • Command Line Start

Chapter 2 : Installation

  • Overview
  • System Setup
  • Chrome
  • Command Line
  • Git for Windows
  • Git Help
  • Git Configuration
  • Installation Notes

Chapter 3 : Git Bash

  • Overview
  • Getting Around
  • Command Help
  • Files and Folders
  • Vi Survival Guide
  • Projects

26 min.

Chapter 4 : Quick Start

  • Overview
  • GitHub Account
  • GitHub Repository
  • Clone
  • First Commit
  • Edit Files
  • Push Back to GitHub


Chapter 5 : Command Shell

  • Overview
  • Command Prompt
  • Notepad
  • Start Locally
  • First Commit
  • Going Remote
  • PowerShell

Chapter 6 : Text Editor

  • Overview
  • Atom Install
  • Atom Fonts
  • Atom with Git
  • Using Atom
  • Atom and Windows

Chapter 7 : Basics

  • Overview
  • Setup SSH
  • Working with Remotes
  • Start Local with an Existing Project
  • Recursive Add
  • Delete
  • Rename
  • Git Log
  • Aliases
  • Ignore Unwanted File
  • Backout Changes
  • Going Remote to GitHub

Chapter 8 : Compare

  • Overview
  • Install Diff and Merge Tool
  • The Setup
  • Comparing Differences
  • Using the Diff Tool
  • Compare Previous Changes
  • Git Show
  • Compare Previous Commits
  • Compare Remote Changes
  • Just a bit of Cleanup

Chapter 9 : Branching

  • Overview
  • Easy Branching
  • No Fast Forward Merges
  • Automatic Merges
  • Merge Conflicts
  • Delete Branches
  • GitHub Fork
  • GitHub Branch
  • Pull Request
  • Pull Request Conflict
  • GitHub Delete

Chapter 10 : Git GUI

  • Overview
  • Git GUI Start
  • Git GUI Tools
  • Git GUI with Existing Repo
  • Git GUI with New Repo
  • Backing out Changes
  • Git GUI with GitHub
  • Clone with Git GUI
  • Local Branches
  • Remote Branches
  • Git GUI Blame
  • Git Configuration

Chapter 11 : Windows Shell

  • Overview
  • Windows Shell Integration
  • Tortoise Git Install
  • Settings
  • Working with Repositories
  • Commits
  • Modifications
  • Push Changes to GitHub
  • Working Locally
  • Backout Changes
  • Clone Repository
  • Branching
  • Conflict Resolution, Part 1
  • Conflict Resolution, Part 2
  • Remote Branches
  • Pull Requests
  • Git History
  • Comparing Differences

Chapter 12 : Git with Atom

  • Overview
  • Atom and Git
  • Atom and GitHub
  • Preview
  • Markdown, Part 1
  • Markdown, Part 2
  • Terminal in Atom
  • Git Plus Package
  • Update Atom
  • Reset Projects
  • Clone Repository
  • Git Workflow
  • Branching in Atom
  • Resolving Conflicts in Atom
  • Using GitHub in Atom
  • Git History in Atom

Chapter 13 : SourceTree

  • Overview
  • Install Source Tree
  • Existing Repositories
  • Clone from GitHub
  • Create New Repository
  • Git Workflow
  • Discard Changes
  • History
  • Branching
  • Conflict Resolution
  • Remote Branches
  • Pull Requests

Jason Taylor


Jason has over 20 years of software experience and over 5 years working with Git, GitHub, and related tools.

Free Courses

Duis egestas aliquet aliquet. Maecenas erat eros, fringilla et leo eget, viverra pretium nulla. Quisque sed augue tincidunt, posuere dui tempor.

Premium Courses

Duis egestas aliquet aliquet. Maecenas erat eros, fringilla et leo eget, viverra pretium nulla. Quisque sed augue tincidunt, posuere dui tempor.