4.29 out of 5
4.29
6287 reviews on Udemy

Git Complete: The definitive, step-by-step guide to Git

Go from zero to hero with Git source control step-by-step with easy to understand examples. Become the next Git expert!
Instructor:
Jason Taylor
37,100 students enrolled
English More
Learn the key concepts of the Git source control system
Step through the entire Git workflow
Compare the different states in Git and compare between branches and commits
Manage files with Git (move, rename, delete) and update files managed outside Git
Create and fork repositories on GitHub and push changes back after working after working on them locally
Create branches and resolve merge conflicts like a pro

Git Complete

This course is designed to be a comprehensive approach to Git, 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.

Recent Course Updates

  • Added Updates and Errata section
  • Added Tagging section

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, the first thing we do is Git Installation for both Windows and Mac.

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).

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. Finally, we cause trouble on purpose so we can step through resolving conflicting merges with our visual merge tool.

With a strong foundation in branching and merging, we will then cover a more complex topic, Rebasing. In that section, we cover several rebasing examples, including how to resolve a rebase conflict.

In the Stashing section, we save our work-in-progress while we attend to more pressing issues, then pick up where we left off after that.

NEW: In the Tagging section, we mark important milestones or releases within our project. We also use those tags later for comparing differences between important milestones. We also look at how to use tags within GitHub.

All tools have installation and configuration sections to ensure no one is left behind.

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 nearly 4 hours of screencast based video training in order to step through each command or action in sufficient detail.

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 feature!

Introduction

1
Welcome and Course Goals

Course introduction, welcome and course goals.

2
Course Overview

In order to meet the course goals outlined in the previous lecture, this course will follow an outline featured in the lecture.

3
About the Author / Instructor

A brief introduction and information about the author/instructor for this course.

4
Course Audience and Course Study Tips

This course has a specific audience in mind -- mainly freelancers, developers, programmers, and other creative professionals.

5
Why Command Line?

The majority of the course will be done using the command line (Git Bash / Terminal). This lecture explains why.

6
Why Source Control?

Not everyone is convinced of the need for version control -- so I go over the main reasons one should use it.

7
Why Git?

Once convinced of the need for version control, this lecture goes into Git's unique qualities and why Git is an excellent version control system.

8
Key Git Terminology

At this point, we assume you plan to use Git for version control and continue with the course, so this lecture goes over some key terminology that will be helpful to understand before moving forward.

Git Installation

1
Installation Overview

Git Installation section overview and what approach will be taken.

2
Installing Git for Windows

A step-by-step installation of Git on Windows, including recommended options and choices.

3
Installing Git on Mac OS X

A step-by-step installation of Git on the Mac platform (featuring Yosemite).

Git Quick Start

1
Quick Start, Part 1: Starting with GitHub and Project Setup

Part one of the "Quick Start" section -- starting with GitHub and initial project setup.

2
Quick Start, Part 2: Configuration, Clone, and Git Basic Workflow

Part two of the "Quick Start" section -- configuration, cloning from GitHub and the entire Git workflow (add, commit, push and pull).

3
Quick Start Resources

Command listings for this section.

Text Editor Installation

1
Text Editor Installation Overview
2
Windows Text Editor: Notepad++ Installation
3
Configure Notepad++ with Git (Windows Only)
4
Mac Text Editor: TextMate 2 Installation
5
Configure Text Mate 2 with Git (Mac Only)
6
Text Editor Resources

Basic Git Commands

1
Basic Commands Overview
2
Starting with a Fresh Project (git init)
3
Adding Git to an Existing Project (git init)
4
Starting on GitHub by Joining an Existing Project (git clone)
5
Basic Git Workflow (add, commit, pull & push)
6
Tracked Files
7
Editing Files
8
Recursive Add
9
Backing Out Changes
10
Renaming and Moving Files
11
Deleting Files
12
History
13
Git Alias
14
Ignoring Unwanted Files and Folders
15
Cleanup and Back to Origin (GitHub)
16
Git Basics Resources

Visual Merge/Diff Tool Installation

1
Visual Merge / Diff Tool Installation Overview
2
P4Merge Install on Windows
3
P4Merge Configure on Windows
4
P4Merge for Windows Git Configuration
5
P4Merge for Mac Installation
6
P4Merge for Mac Git Configuration
7
Visual Merge / Diff Tool Resources

Comparisons

1
Git Repository Setup (for comparing examples)
2
Comparing Working Directory and the Staging Area
3
Comparing Working Directory and Git Repository (Last Commit)
4
Comparing between the Staging Area and the Git Repository (Last Commit)
5
Limiting Comparsons to one File (or path)
6
Comparing Between Commits
7
Comparing Between Local and Remote Master Branches
8
Comparison Section Cleanup and Push back to GitHub

Branching and Merging

1
Branching Basics
2
Happy Path / Fast Forward Merges
3
Happy Path / Disable Fast Forward Merges
4
Automatic Merges
5
Conflicting Merges and Resolution
6
Section Cleanup and Push back to GitHub

Rebasing

1
Simple Rebase Example
2
Setup for rebasing conflict
3
Abort a Rebase
4
Rebase Conflict and Resolution
5
Pull with Rebase (GitHub)
6
Section Cleanup and push to GitHub

Stashing

1
Simple Stash Example
2
Stashing Untracked Files and Using Pop
3
Managing Multiple Stashes
4
Stashing into a Branch
5
Section Cleanup and push to GitHub
6
Stashing Section Resources

Tagging

1
Simple Tag Example / Lightweight Tags
2
Annotated Tags
3
Comparing Tags
4
Tagging a Specific Commit
5
Updating Tags
6
Using Tags with GitHub
7
Tagging Section Resources

Bonus: Office Hour Sessions

1
Reset and Reflog (Office Hours, Session 1)
2
Compare Branches via GitHub (Office Hours, Session 1)
3
Compare Branches via Command Line (Office Hours, Session 1)
4
Stash vs Branch (Office Hours, Session 1)
5
Gitting Help (Office Hours, Session 1)
6
Cherry Pick (Office Hours, Session 1)

Updates and Errata

1
Git Mac OS X Updates

Bonus: Resources and Special Offers

1
Bonus: Exclusive Student Discounts
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
6287 Ratings

Detailed Rating

Stars 5
2848
Stars 4
2428
Stars 3
796
Stars 2
156
Stars 1
68
51fe5f70d73fca34a1945fcd161f9561
30-Day Money-Back Guarantee

Includes

6 hours on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of Completion