Contact us for a quotation or further information on Classroom or Webinar courses
Fundamentals
Click for course outline and eLearning
The Clearvision Git Fundamentals training course provides an understanding of basic Git concepts and looks at the different ways Git can be used and implemented. 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.
Objectives & Outcomes
At the end of the Clearvision Git Fundamentals 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.
Pre-Requisites
- Basic knowledge of Linux interfaces (including Linux/UNIX command line interface)
- No previous Git experience is required
Module 1: Introduction
- Introduction to Git
- A Brief History
- Distributed Version Control
- Git Installation
- Git Packages
No Lab Exercise For This Module
Module 2: Git Internals
- Git - The Repository
- Hash Values (SHA-1)
- The Git Data Model
- Git Object Types
- Git Reference Types
- Object Model Example
Lab Exercise: Installing and Configuring Git
- Ubunutu Install
- Explore Installation
- Tell git who you are
- Tell Git your email address
- Set up 'Colours' for the cli
Module 3: Working with Git
- Setting up Your Git Environment
- How to create a new Git repository
- Cloning an existing repository
- Basic workflow
- Adding new files
- Changing existing files
- Committing changes to the repository
Lab Exercise: Working with Git
- Create New Repository
- Add Files and directory structure to Repository
- Check Status (Basic)
- Commit to Repository
Module 4: Making New Versions
- Workflow
- The Index file
- The Status command
- Tracking new files
- Ignoring file types
- Staging changes
- View specific changes
- Committing changes
- Removing files & directories
- Moving files & directories
- Undoing of fixing errors
- Reset a change
- Revert a change
- Checkout a change
Lab Exercise: Making New Versions
- Add the change but do not commit
- Make another Change but do not add
- Check Status and log to see the 3 different verions
- Use the diff and diff -cache to see the diff between each version
- Remove unneeded file
Module 5: Branching and Merging in Git
- What is a branch
- Creating a branch
- Switching between branches
- Fast forward merge
- 3-way merge
- Resolving merge conflicts
- Merge tools
- Removing branches
- Branch management in Git
Lab Exercise: Branching and Merging
- Basic Branching
- Understanding Branches in Git
- Create new branches: the branch and checkout commands
- Working on Branches
- Merging in Git
- Merge Conflicts and Resolution
- Basic Branch management
Module 6: Tagging
- What is a tag
- Viewing tags
- Creating tags
- Signed tags
- Tagging later
- Sharing tags
- Advanced tagging
Lab Exercise: Tagging
- Creating Lightweight Tags
- Creating Annotated Tags
- Viewing Tags
- Deleting and Replacing Tags
- Signing and Verifiying Tags
Module 7: Collaborating
- Cloning repositories
- Remotes
- Remote Branches and Tracking Branches
- Fetching, Pulling and Pushing Changes
- Bare and development repositories
- Publishing repositories
Lab Exercise: Collaborating
- Set up a bea repository
- Clone an existing repo
- Pull changes from replica
- Fetch changes
- Cherry pick a change
- Push a change to other repository
Module 8: Collaboration Strategies in Git
- Central repository model
- Hierarchical model
- Integrator model
No Lab Exercise For This Module
Module 9: - Additional Tools
- Gitk
- GitGui
- GitWeb
- Repo
- Gerrit
No Lab Exercise For This Module
Module 10: - Housekeeping
- File System Check
- Pruning
- The Reflog
- Packs
- Garbage Collection
No Lab Exercise For This Module