Git Training



ABOUT


The Git Training at DevOpsConsulting.in is designed to provide a comprehensive understanding of Git, the most widely used version control system in modern software development. This training covers essential Git concepts, including repository management, branching, merging, and collaborative workflows. Participants will learn how to track changes, manage code versions, and collaborate efficiently in teams using Git. The course also delves into advanced topics such as resolving merge conflicts, rebasing, and integrating Git with popular DevOps tools like Jenkins, Docker, and CI/CD pipelines.


Through hands-on exercises and real-world projects, learners will gain practical experience in using Git to maintain code integrity, streamline development processes, and automate workflows. Ideal for developers, DevOps engineers, and IT professionals, this training equips participants with the skills to effectively use Git for version control in any software development environment.


COURSE OBJECTIVES


  • What is Git?
  • Installing Git
  • Getting Started
  • Git Concepts and Architecture
  • Making Changes to Files
  • Undoing Changes
  • Ignoring Files
  • Navigating the Commit Tree
  • Branching
  • Merging Branches
  • Stashing Changes
  • Working with Remotes Repository
  • Tagging
  • Workflow Strategies
  • SourceTree
  • Git Troublshooting

PRE-REQUISITES


The prerequisites for the Git Training at DevOpsConsulting.in include:


  • Basic Command Line Knowledge: Familiarity with the command line interface (CLI) in Unix, Linux, or Windows environments is helpful but not mandatory.
  • Understanding of Software Development: A basic understanding of software development processes, such as coding, compiling, and debugging, is recommended.
  • Familiarity with Version Control Concepts (Optional): While not required, prior knowledge of version control systems or concepts like versioning, branching, and merging can be beneficial.
  • Interest in Collaborative Development: As Git is widely used in team environments, having an interest in learning collaborative workflows is essential.

FEATURES


  • 30 Hours instructor led online class
  • Hands on Approach - We emphasize on learning by doing.
  • Life time free re-enrollment to future DevOps courses
  • Life time free access to all learning materials including
  • Class recordings
  • Presentations
  • Sample Code
  • Projects
  • Total Lab Infrasture in cloud and 24x7 available
  • 70% of the class is consist of Lab
  • Each week assignments(total 4) with personal assistance
  • Two real time senario based projects with standard evaluation
  • 24x7 online support to queries during and after the course completion
  • 1 dedicated class for Interview preparations

AGENDA


The basic course program is outlined here:


What is Git ?

  • Understanding version control
  • The history of Git
  • About distributed version control
  • Who should use Git?

Installing Git

  • Installing Git on a Mac
  • Installing Git on Windows
  • Installing Git on Linux
  • Configuring Git
  • Exploring Git auto-completion
  • Using Git help

Getting Started

  • 2Initializing a repository
  • Understanding where Git files are stored
  • Performing your first commit
  • Writing commit messages
  • Viewing the commit log

Git Concepts and Architecture

  • Exploring the three-trees architecture
  • The Git workflow
  • Using hash values (SHA-1)
  • Working with the HEAD pointer

Making Changes to Files

  • Adding files
  • Editing files
  • Viewing changes with diff
  • Viewing only staged changes
  • Deleting files
  • Moving and renaming files
  • Using Git with a Real Project
  • Introducing the Explore California web site
  • Initializing Git
  • Editing the support phone number
  • Editing the backpack file name and links

Undoing Changes

  • Undoing working directory changes
  • Unstaging files
  • Amending commits
  • Retrieving old versions
  • Reverting a commit
  • Using reset to undo commits
  • Demonstrating a soft reset
  • Demonstrating a mixed reset
  • Demonstrating a hard reset
  • Removing untracked files

Ignoring Files

  • Using .gitignore files
  • Understanding what to ignore
  • Ignoring files globally
  • Ignoring tracked files
  • Tracking empty directories

Navigating the Commit Tree

  • Referencing commits
  • Exploring tree listings
  • Getting more from the commit log
  • Viewing commits
  • Comparing commits

Branching

  • Branching overview
  • Viewing and creating branches
  • Switching branches
  • Creating and switching branches
  • Switching branches with uncommitted changes
  • Comparing branches
  • Renaming branches
  • Deleting branches
  • Configuring the command prompt to show the branch

Merging Branches

  • Merging code
  • Using fast-forward merge vs. true merge
  • Merging conflicts
  • Resolving merge conflicts
  • Exploring strategies to reduce merge conflicts

Stashing Changes

  • Saving changes in the stash
  • Viewing stashed changes
  • Retrieving stashed changes
  • Deleting stashed changes

Remotes

  • Using local and remote repositories
  • Using local and remote repositories
  • Adding a remote repository
  • Creating a remote branch
  • Cloning a remote repository
  • Tracking remote branches
  • Pushing changes to a remote repository
  • Fetching changes from a remote repository
  • Merging in fetched changes
  • Checking out remote branches
  • Pushing to an updated remote branch
  • Deleting a remote branch
  • Enabling collaboration
  • A collaboration workflow

Tools and Next Steps

  • Setting up aliases for common commands
  • Using SSH keys for remote login
  • Exploring integrated development environments
  • Exploring graphical user interfaces
  • Understanding Git hosting