Skip to main Content

Git Basics Training

  • Course Code GITBAS
  • Duration 1 day

Course Delivery

Public Classroom Price

Please call

Request Group Training Add to Cart

Course Delivery

This course is available in the following formats:

  • Public Classroom

    Traditional Classroom Learning

Request this course in a different delivery format.

Course Overview

Top
This course is divided into a number of individual modules, many modules have an associated lab exercise that will help to reinforce the learning experience. The Clearvision Git basics training course provides a comprehensive understanding of basic Git concepts and looks at the different ways Git can be used and implemented.

Course Schedule

Top

Course Objectives

Top
At the end of the Clearvision Git Basics course students will understand basic Git concepts and will be able to use Git to provide configuration management support for software development projects. For a more in-depth look at how Git can be used to support various ways of working, as well looking at maintenance of your Git environment and integrations with other tools, Clearvision recommend this course is followed by the Git Advanced course.

Course Content

Top

Module 1: Introduction

  • What this course covers
  • The need for Version Control
  • A brief history of git and what it is (i.e. a DVCS)
  • What is DVCS
  • Plumbing and Porcelain
  • The repository (at high level)
  • Getting Started

Lab Exercises

  • Group discussion, understanding DVCS

Module 2: Git Concepts

  • Git Object Types: Blobs/ Trees/ Commits/ Tags/ Git Reference Types/ Object Model Example
  • Hash Values (SHA-1)
  • The Git Data Model

Lab Exercises Module 2

  • Verify Git Installations
  • Identify the git repository
  • Ask Git for help

Module 3: Getting started

  • How to create a new Git repository
  • Setting up Your Git Environment
  • Basic workflow
  • Adding new files
  • Changing existing files
  • Committing changes to the repository
  • The Git Log

Lab Exercises Module 3

  • Identify yourself to Git
  • Create a Git repository
  • How to add new files/folders
  • How to commit new files/folders
  • Clone an existing repository
  • Check the status of your Git repository

Module 4: Working with Git

  • Workflow
  • The Status command
  • Ignoring file types
  • View specific changes
  • Removing files & directories
  • Moving files & directories
  • Stashing Changes
  • Undoing or fixing errors
  • Reset a change
  • Revert a change
  • Checkout a change

Lab Exercises Module 4

  • Use the git log command to help you clarify if you are committing the correct version of a file
  • Use the git status command to help you clarify the current state of your repository

Module 5: Branching and Merging

  • What is a branch
  • Creating a branch
  • Switching between branches
  • What is a merge
  • Fast forward merge
  • 3-way merge
  • Resolving merge conflicts
  • Merge tools
  • Removing branches
  • Branch management in Git

Lab Exercises Module 5

  • Create branches in Git
  • Add files to branches
  • Checkout branches
  • Merge into branches
  • Rebase and squash a feature branch

Module 6: Collaboration Basics

  • Cloning repositories
  • Remotes
  • Remote Branches and Tracking Branches
  • Fetching, Pulling and Pushing Changes
  • Bare and development repositories
  • Publishing repositories

Lab Exercises Module 6

  • Clone a repository
  • Create or Identify a remote
  • Pull changes
  • Push changes
  • Merging between repositories

Module 7: Collaboration Strategies

  • Branching Strategies
  • Structural Strategies

Lab Exercises Module 7

  • A flexible exercise implementing the strategy you intend to use moving forward

Module 8: Tagging

  • What is a tag
  • Viewing tags
  • Creating tags
  • Signed tags
  • Tagging later
  • Sharing tags

Lab Exercises Module 8

  • Create tags in Git
  • Lightweight tags
  • Annotated tags
  • Checkout tags in Git
  • How to view tags
  • How to checkout tags

Optional Module 9: Putting It All Together

  • This is an open lab exercise which asks students to use what they heave learned to implement a scenario.

Course Prerequisites

Top
  • Basic knowledge of Linux interfaces (including Linux/UNIX command line interface)
  • No previous Git experience is required