Skip to Content
Git and GitHub LiveLessons—Workshop (Video Training)
on-demand course

Git and GitHub LiveLessons—Workshop (Video Training)

with Peter Bell
September 2014
Beginner to intermediate
4h 57m
English
Pearson
Closed Captioning available in English, Japanese, Korean, Chinese (Simplified), Chinese (Traditional)

Overview

Overview
 
Git and GitHub LiveLessons (Workshop) is a fast-paced, engaging video course that teaches developers the essentials of Git and GitHub. You will learn the key commands to quickly become productive using Git and best practices for using GitHub to collaborate with your team.

 
Description
 
Featuring live, step-by-step demonstrations, the lessons in this workshop cover:

  • Concise configurations—configuring just what you need to get the best out of Git
  • Your first repo—initializing a repo, three stage thinking, working with the staging area
  • Sharing your work—creating and configuring a GitHub repository
  • Additional activities—moving, deleting and ignoring files with Git
  • Building with branches—how to use feature branches effectively to work on projects. Includes merge types, merge conflicts and rebasing before merging
  • GitHub workflows—using clones, forks, feature branches and pull requests to collaborate effectively via GitHub
  • Releasing software—release tags, release branches and release workflows
  • How to undo anything—learn a range of powerful techniques, from git commit –amend through revert, reset, rebase –interactive and the famed reflog!

About the Instructor

Peter Bell is a contract member of the GitHub training team and presents internationally on using Git and GitHub effectively. He’s also the co-founder of CTO School and the startup CTO Summit and is the author of Git Distilled, to be published by Pearson in late 2014.

Skill Level

  • Beginner
  • Intermediate

 What You Will Learn

  • Starting with creating your first Git repository and committing code, you learn the key concepts and features that will allow you to quickly set up and use Git for your own projects
  • You are introduced to branching and learn how to merge a branch, create a fast forward merge, and use recursive merges
  • You also learn how to collaborate via GitHub by cloning a repository, forking a repository, or contributing to a project via a pull request from a fork
  • In addition, you are introduced to the basics of Git internals to get a sense for how Git works under the hood.

Who Should Take This Course

Course Requirements

  • You will need to have an up-to-date version of Git installed on your computer and have a GitHub user account and password.
  • You should also be comfortable using a terminal window/command line.

 
Table of Contents
 
Lesson 1: Configuring Git

  • Three levels of configuration
  • Basic configuration settings
  • Configuring line endings
  • Configuring aliases

Lesson 2: Getting Started with Git

  • Creating your first Git repository
  • Committing in Git
  • Understanding a Git commit
  • The benefits of the staging area
  • Git log for viewing history

Lesson 3: Getting Started with GitHub

  • Creating a repository in GitHub
  • Uploading your repo to GitHub
  • Creating a repository after starting to code
  • Creating the first commit

Lesson 4: Files in Git—Renaming, Deleting and Ignoring

  • How to rename a file in Git
  • Deleting a file in Git
  • Ignoring files using a .gitignore file
  • Global gitexcludes and other Git ignore options
  • Git ignore precedence
  • Git commit -a

           
Lesson 5: Branching, Merging and Rebasing

  • Introducing branching
  • Merging a branch
  • Creating a fast forward merge
  • Introducing recursive merges
  • “No fast forward” recursive merges
  • Resolving merge conflicts
  • Another merge conflict example
  • Git Diff
  • Introducing rebasing
  • Rebasing a branch
  • Handling rebase conflicts

Lesson 6: Git Internals

  • Introducing “Git under the hood”
  • Exploring the object store
  • cat-file to explore object contents
  • The benefits of Git’s use of SHA1 hashes
  • Git as a content store (how many new hashes)
  • Understanding remotes and their configuration
  • Configuring your push default
  • Fetch versus pull
  • Merge versus rebase on pull

Lesson 7: Collaborating via GitHub

  • Cloning a repository
  • Forking a repository
  • Contributing via a pull request from a fork
  • Approving a pull request from a fork
  • Use cases for fork based collaboration
  • Single repo collaboration directly on master
  • Single repo collaboration using feature branches
  • Contributing to another feature branch
  • Creating a pull request within a single repo
  • Collaborating on a pull request
  • Merging in a pull request

Lesson 8: Reviewing a Project on GitHub

  • Getting an overview of a project on GitHub using the README
  • Getting more information about a project
  • Introducing issues
  • Closing an issue automatically with a commit message
  • Viewing project state through pulse and graphs

Lesson 9: Configuring a Project on GitHub

  • Basic configuration options and renaming a repo
  • GitHub Pages
  • Adding collaborators and integrations
  • Configuring deploy keys

Lesson 10: Tags and Releases

  • Three types of tags
  • Release tags versus release branches
  • Cherry pick for reusing code across long running release branches
  • Git stash for reusing code
  • Pushing tags up to GitHub and using releases

           
Lesson 11: How to Undo Almost Anything Using Git

  • Private versus public history and git revert
  • Don’t push too often
  • Git commit --amend
  • Git reset
  • Introducing the reflog
  • Rebase interactive

Q&A

  • Question 1: Can you create a GitHub repo without using your browser?
  • Question 2: What’s the difference between global and system configuration?
  • Question 3: When dealing with merge conflict in a large file, how do you find the conflicts?
  • Question 4: Does Git show the two full, different versions of a file or just the differences?
  • Question 5: Does a merge commit always include all of the files I created on the branch?
  • Question 6: Isn’t it dangerous that you can make a bunch of changes to your code by merging in a branch?
  • Question 7: Do merges work the same way with merging into integration branches as into master?
  • Question 8: How do you handle long running release branches?

 

About LiveLessons Video Training
 
LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more.  View all LiveLessons on InformIT at: http://www.informit.com/livelessons

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Watch now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Github Actions and GitOps in One Hour Video Course

Github Actions and GitOps in One Hour Video Course

Alfredo Deza, Noah Gift
Git Essentials for Beginners

Git Essentials for Beginners

Coding Gears | Train Your Brain

Publisher Resources

ISBN: 9780133992748