INTRODUCTION TO VERSION CONTROL WITH GIT – GTGIT

NEW COURSE!

Description

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

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

Audience

Software developers

Prerequisites

Basic computer (Windows or Mac or Linux) literacy

Duration

1 day

Course Summary

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)
  • More Than One Repository
  • Working with Remotes
  • Fetch and Pull
  • Push
  • Pull Requests
  • 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. Rewriting History

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

Chapter 7. Examining History

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

Lab Exercises

  • Lab 1. Starting Out With Git
    Lab 2. Branching, Merging and Working with Remotes
    Lab 3. Experimenting with Workflows
    Lab 4. Rebasing and Rewriting History

See more Architecture courses