Git training: Introduction to Version Control with Git

Course #:WA2410

Git training: Introduction to Version Control with Git

Courseware: Available for sale

This one-day Git training course teaches developers what Git is and how to use Git to manage software versions effectively.

The Git training course begins with a review of the benefits of version control in software development.  We then introduce Git, with emphasis on the multiple workflow possibilities, and the paradigm shift required to use distributed version control effectively.

This Git training course has 7 hands-on Git labs that are outlined at the bottom of this page. The labs cover basic Git operations as well as workflow. The labs allow you to practice the following skills:

Lab1 - Starting Out With Git

1. Install Git on windows
2. Create a git repository
3. Perform basic git functions on the repository

Lab 2 - Branching, Merging and Working with Remotes

1. Clone an existing repository
2. Create a branch
3. Merge a branch onto another branch.

Lab 3 - Experimenting with Workflows

1. Use a centralized repository in the same way as you would with non-distributed
version control system
2. Use a "pull-request" style of development, as is common with git.

Lab 4 - Using the GitFlow Workflow

In this lab you will explore the GitFlow workflow to create features, releases, hotfixes, and various other types of branches.

Lab 5 - Rebasing and Rewriting History

1. Use 'git rebase' to move work from one branch to another
2. "Squash" a commit using the interactive rebase tool.

Lab 6 - Git Submodules

In this lab, we'll take a look at submodules in Git. Submodules provide a way to use a git repository as a directory within another repository.

Lab 7 - (Optional) GitFlow Workflow With the GitFlow Extensions

In this lab you will explore GitFlow feature, release, hotfix, and various other options.

Web Age Git Classes are delivered in traditional classroom style format. Online Git Training is also available in a synchronous instructor led format.

Audience

Software developers

Prerequisites

  • Basic computer (Windows or Mac or Linux) literacy

Duration

1 day

Outline of Git training: Introduction to Version Control with Git

Chapter 1. Introduction to Version Control

  • What is Version Control
  • What is Version Control (cont'd)
  • "Undo" Capability
  • Collaboration
  • Collaboration (Cont'd)
  • Communication and Sharing
  • Auditing and Tracking
  • Release Engineering, Maintenance, SDLC
  • Diagnostics
  • History of Version Control
  • What is Version Control (cont'd)
  • Distributed Version Control
  • Summary

Chapter 2. Introduction to Git

  • What is Git
  • Git's Design Goals
  • Git's Design Goals (cont'd)
  • Branching and Merging
  • Branching and Merging (cont'd)
  • Centralized Version Control
  • Distributed Version Control
  • Git Basics
  • Git Basics (Cont'd)
  • Git Basics (cont'd)
  • Getting Git
  • Git on the Server
  • Git Repository Managers
  • Git on Somebody Else's Server
  • Summary

Chapter 3. Basic Git Operations

  • Using Git
  • Definitions
  • Definitions (cont'd)
  • Repository (cont'd)
  • Definitions (cont'd)
  • Commit
  • Commit (continued)
  • How to Think About Commits
  • Viewing History
  • Configuring Git
  • Configuration Scope
  • User Identification
  • User Identification (cont'd)
  • GPG Signing
  • Gnu Privacy Guard
  • GPG Basics
  • GPG and Git
  • .gitignore
  • Other Useful Configurations
  • Summary

Chapter 4. Branching, Merging and Remotes

  • Branching
  • Branches in Git
  • Branches in Git (cont'd)
  • Merge
  • Merge (cont'd)
  • Fast Forward Merge
  • --no-ff
  • More Than One Repository
  • Working with Remotes
  • Fetch and Pull
  • Push
  • Pull Requests
  • Tagging a Commit
  • Lightweight Tags
  • Annotated Tags
  • Sharing Tags
  • Checking Out a Tag
  • Summary

Chapter 5. Git Work Flows

  • Work Flows
  • Local Work Flow
  • Feature Branches
  • Centralized Workflow
  • Integration Manager Work Flow
  • Integration Manager Work Flow (cont'd)
  • Other Work Flows Are Possible
  • Summary

Chapter 6. Introduction to GitFlow

  • What is GitFlow
  • Benefits
  • How GitFlow works?
  • How GitFlow works? (Contd.)
  • What is GitFlow? (Contd.)
  • How GitFlow works? (Contd.)
  • GitFlow Extension
  • Initializing GitFlow
  • Features
  • Release
  • Hotfixes
  • Summary

Chapter 7. Rewriting History

  • Rewriting History
  • Squashing Commits
  • Squashing Commits (cont'd)
  • Rebase vs Merge
  • Amending Commits
  • Reset
  • Summary

Chapter 8. Examining History

  • Looking at History
  • Log
  • Blame
  • Bisect
  • Summary

Chapter 9. Submodules and Subtrees

  • Submodules
  • Dependency Management
  • Dependency Management (cont'd)
  • Git Submodules
  • Adding a Submodule
  • .gitmodules
  • Cloning a Repository with Submodules
  • Updating Submodules (Initial)
  • Updating Submodules (Ongoing)
  • Subtrees
  • Subtrees – How They Work
  • Subtrees
  • Conclusion

Chapter 10. Basic Git Operations

  • Advanced Configuration
  • Advanced Configuration Variables
  • Environment Variables
  • Aliases
  • Git Hooks
  • Summary

Lab Exercises

Lab 1. Starting Out With Git
Lab 2. Branching, Merging and Working with Remotes
Lab 3. Experimenting with Workflows
Lab 4. Using the GitFlow Workflow
Lab 5. Rebasing and Rewriting History
Lab 6. Git Submodules
Lab 7. (Optional) GitFlow Workflow With the GitFlow Extensions

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.