GitHub Ultimate: Master Git and GitHub - Beginner to Expert

Go from complete novice to expert in Git and GitHub using step-by-step, no-assumptions learning
4.5 (173 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
1,479 students enrolled Bestselling in GitHub
$19
$100
81% off
Take This Course
  • Lectures 150
  • Length 6.5 hours
  • Skill Level All Levels
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 3/2016 English Closed captions available

Course Description

This course will comprehensively cover the GitHub hosting service as a companion to the Git source control tool, which means no prior knowledge or experience is required. Students will emerge at the end with a very solid understanding and hands-on experience with Git and GitHub.

Course Organization

The course is divided into four major components:

  • Introduction and Setup
  • Learning Git Source Control
  • All About GitHub
  • Bonuses

Each one of the above components spans multiple sections in this course.

New! Closed captions throughout the course!

Introduction

The Introduction provides a welcome to the course including some useful tips for getting the most out of taking the course and how the course is designed. That is followed by the Core Concepts which go over some critical theory before diving straight into Git.

After the introduction and core concepts, the first thing we do is a Quick Installation for both Windows and Mac. The Bonus section has a more comprehensive, step-by-step process for those that prefer it.

Learning Git Source Control

In The Basics, 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 some more Advanced Git topics like comparing differences, branching and merge resolution, tagging special events, saving work in progress, and even a bit of time travel.

All About GitHub

The main part of this course is all about GitHub. We will explore GitHub indepth from a source control hosting repository perspective.

In Welcome to GitHub we start off exploring some of the basic features of GitHub by creating a fresh repository and associate our local repository with it. Then, we prepare for the remainder of the course by setting up SSH Authentication, which we will use from this point forward. After that, we continue looking at the GitHub Repository, including many of the same operations we performed locally, but done directly within GitHub. Then in GitHub Repository Branches we dive into how Branches on GitHub and our local system work with each other.

After we have comprehensively covered how GitHub repositories work, we focus on how GitHub Tags and Releases work and their relationship with local tags in Git. We can then use tags/releases while Comparing Differences on GitHub.

We start tying things together in Social Coding where we join other projects on GitHub by forking and then submitting our contributions back using pull requests.

Once part of a team, you might use GitHub Issues to track defects or enhancement requests.

Sometimes you just need to share small parts of a file or a set of files, but don't want to bother with a full Git repository. That where GitHub Gists help out -- share just a snip of code or entire files.

Finally, group related GitHub repositories with GitHub Organizations and manage permissions and access using teams.

Bonuses

The bonuses sections and lectures provide additional information, more comprehensive instructions, or non-critical lectures.

Course Features

All tools have installation and configuration sections to ensure no one is left behind.
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 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. 

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!

What are the requirements?

  • Basic computer skills
  • Ability to install software on your computer
  • Admin rights may be required for software installation

What am I going to get from this course?

  • Learn the key concepts of the Git source control system
  • Step through the entire Git workflow
  • Compare the different states in Git
  • Manage files inside and outside the control of Git and GitHub
  • Create and manage repositories on GitHub
  • Create branches and resolve conflicts with confidence
  • Save work in progress with Stashes
  • Mark special events with Tags and Releases
  • Even a bit of time travel within Git repositories and on GitHub
  • Perform many of the same local Git operations directly on GitHub
  • Join other GitHub projects by Forking and contribute back using Pull Requests
  • Review and Accept Pull Requests from Others
  • Share code with Gists
  • Manage project defects or enhancement requests with GitHub Issues
  • Group related repositories together with GitHub Organizations

What is the target audience?

  • Anyone interested in using source control and specifically Git and GitHub
  • Software engineers, developers, programmers new to Git or GitHub
  • IT Managers or technical leads considering Git or GitHub for version control on their team
  • Freelancers or other creative professionals

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
Course Welcome
Preview
01:58
Audience and Approach
Preview
02:27
Using The Command Line
02:21
Section 2: Core Concepts
Core Concepts Overview
00:29
What is Git
01:36
The Repository
01:10
Commits and Files
00:50
What is GitHub
01:17
Section 3: Quick Installations
Quick Installation Overview
01:02
Quick Install on Windows
08:37
Quick Installation on Windows Notes
Article
Quick Install on Mac OS X
06:18
Quick Install on Mac OS X Notes
Article
Section 4: The Basics
The Basics Overview
Preview
00:42
Initialization
Preview
01:28
Git States
01:23
First Commit
03:04
Repository and the Git Folder
01:59
Starting with Existing Project
01:56
Commits and Messages
02:01
Commit Details with Log and Show
01:16
Express Commits
02:58
Backing Out Changes
02:12
History and Making New Commands with Alias
03:50
Rename and Delete Files
03:08
Managing Files Outside of Git
03:06
Excluding Unwanted Files
02:56
Section 5: Advanced: Beyond the Basics
Advanced Overview
Preview
00:35
Comparing Differences
Preview
02:39
Branching and Merge Types
02:02
Special Markers
00:37
Simple Branching Example
04:56
Conflict Resolution
04:50
Marking Special Events with Tagging
02:38
Saving Work in Progress with Stashing
02:17
Time Travel with Reset and Reflog
05:23
Section 6: Welcome to GitHub
Welcome to GitHub Overview
01:04
Signup for GitHub
02:06
GitHub Profile
02:23
GitHub Settings
02:34
Creating a GitHub Repository
01:13
Linking to our GitHub Repository
02:19
Pushing Changes to GitHub
02:29
Verifying our Changes on GitHub
01:00
Section 7: SSH Authentication
Authentication Overview
00:41
SSH vs HTTPS
01:49
Generating an SSH Key
02:21
Verify SSH Authentication with GitHub
02:37
Section 8: GitHub Repository
GitHub Repository Overview
Preview
00:38
Starting Remote with a Starter Repository
Preview
01:11
Create a Local Copy with Clone
03:42
Seeding the Repository with Sample Content
03:03
Publish Back to GitHub
01:54
Fetch and Pull
03:53
Repository Features and Settings
02:58
Updating Repository and Remote References
01:55
Looking at Files and Folders on GitHub
00:55
Directly Editing Files on GitHub
02:38
Creating a New Files on GitHub
02:40
Creating a New File on Master
01:10
Renaming and Deleting Files on GitHub
02:08
Synchronizing our Changes with our Local Repository
01:31
Reviewing Commits with the Commit List
00:58
Commit Details: Going Deeper
03:17
GitHub Time Travel: Reviwing Your Repository as of a Particular Commit
01:33
Using Commit IDs with the Local Repository
01:22
Section 9: GitHub Repository Branches
Repository Branches Overview
00:18
Creating Branches on GitHub
02:54
Local Branches
03:33
Comparing and Pull Requests
05:23
Merging Locally
05:26
Locally Switch to a Branch on GitHub
03:57
Cleaning Up By Deleting Branches and References
03:49
Pull with Rebase
04:36
GitHub Graphs
01:51
Setting the Default Branch
05:08
Dealing with a Conflict while Pulling
03:34
Section 10: GitHub Tags and Releases
Tags and Releases Overview
00:23
Local Tags (a bit of Review)
04:27
Pushing Local Tags to GitHub
03:27
Tags on GitHub
02:18
Deleting Tags on GitHub
02:42
Updating Tags: Creating a Floating Tag
03:56
Starting a Release on GitHub
02:52
Deleting a Release
01:30
Creating a Completely New Release
03:19
Section 11: Comparing Differences
Comparing Differences Overview
00:23
Comparing with Pull Requests
01:32
Comparing Commits
02:45

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jason Taylor, Sr. Software Engineer, Technical Trainer on 14 Udemy Courses

With nearly 20 years of programming and software development experience, I started out teaching myself programming while in High School. I put myself through college working for a local Internet Service Provider as a programmer. Before finishing college, I developed and sold an award winning website to a Dot-Com start-up. After college, I have worked at several companies ranging from start-ups to large enterprises focusing on Java and client-side technologies (HTML/CSS/JavaScript). Throughout my career, I have opportunity to learn many software development best practices and exposure to several version control systems.

Ready to start learning?
Take This Course