Course outline for Git

Pre-requisites for learning Git

  • The learners must have atleast 1 year of hands-on experience (must have written code)
  • Learners must have a basic understanding of the software engineering workflows, and must have atleast used a version control system before.
  • Learners should have a basic understanding of Linux (Ubuntu is the preferred distribution, but other distributions are also fine).

Duration

2-3 days

Training Mode

Online training for Git

We provide:

  • Instructor led live training
  • Self-paced learning with access to expert coaches
  • 24x7 access to cloud labs with end to end working examples

All jnaapti sessions are 100% hands-on. All our instructors are engineers by heart. Activities are derived from real-life problems faced by our expert faculty. Self-paced hands-on sessions are delivered via Virtual Coach.

Classroom training for Git

Classroom sessions are conducted in client locations in:

  • Bengaluru
  • Chennai
  • Hyderabad
  • Mumbai
  • Delhi/Gurgaon/NCR

Note: Classroom training is for corporate clients only

Detailed Course Outline for Git

Getting Started

  • Understanding the software engineering process in terms of tooling
  • Version control - what it is and why it is required
  • Distributed version control - what it is and why it is required

Git

  • VCS and DVCS - the alternatives and some history
  • An introduction to Git
  • Installation and setting up Git

Git Basics

  • Cloning an existing repository
  • Creating a new Git repository
  • Normal workflow - Committing and viewing changes
  • Branching and merging
  • Viewing history and comparing diffs
  • Distributed workflows
  • Working with conflicts
  • Tagging
  • Git tooling
    • gitweb
    • gitk
    • (etc)
  • Hosted Git
  • Understanding Git protocols - getting it to work with git:// etc

Advanced Git

  • Rebasing
  • Stashing
  • Treeishes
  • Setting up public and private repositories

Git Internals

  • Git objects
  • Git references
  • Packfiles

Gitflow

  • Understanding decentralized development
  • Supporting branches
    • Feature branches
    • Release branches
    • Hotfix branches
  • Installing and using git flow