Version Control and Branching with Git

Request this training now

Equip learners with practical Git skills for managing source code, collaborating effectively in teams, and mastering version control workflows used in modern software development.

Who Should Enroll:

  • Fresh software engineers
  • DevOps engineers
  • Undergraduate students in the field of software engineering

Prerequisites: 
Basic knowledge of programming and software development practices

Trainer:
Rasan Samarasinghe (Profile)

Training Fee:
Rs. 15,000.00 per participant (Method of payment)

Delivery: 
Online with live sessions or self-paced

Duration: 
15 hours

Medium: 
English

Certification:
Digital certification with the transcript upon completion

Course Modules & Structure:

1: Introduction to Version Control
  • What is version control?
  • Benefits of using Git
  • Centralized vs. distributed version control systems
  • Installing Git and initial setup
2: Getting Started with Git
  • Git configuration and setup (git config)
  • Creating a repository (git init)
  • Cloning a repository (git clone)
  • Tracking changes (git status, git add, git commit)
  • Understanding the .git directory

Hands-on: Initialize and commit to a local project

3: Working with Commits
  • Commit messages best practices
  • Viewing history (git log, git show)
  • Comparing changes (git diff)
  • Undoing changes (git checkout, git restore, git reset)

Hands-on: Revert and amend commits

4: Branching & Merging
  • What is branching and why use it?
  • Creating and switching branches
  • Merging changes between branches
  • Fast-forward vs. recursive merges
  • Resolving merge conflicts

Hands-on: Feature branch workflow in a team project

5: Remote Repositories
  • Connecting to GitHub, GitLab, or Bitbucket
  • Pushing and pulling (git push, git pull, git fetch)
  • Remote tracking branches
  • Forking and pull requests (conceptual overview)

Hands-on: Push local project to GitHub and collaborate

6: Git Workflows & Collaboration
  • Git Flow vs. GitHub Flow
  • Working with multiple collaborators
  • Code review process (intro to pull/merge requests)
  • Managing issues and project boards (GitHub Projects overview)

Hands-on: Simulate collaborative workflow with issues and branches

7: Advanced Git Techniques
  • Rebase vs. merge
  • Cherry-pick
  • Stashing
  • Tagging releases
  • Using .gitignore

Hands-on: Rebase feature branch onto main

8: Troubleshooting & Best Practices
  • Handling merge conflicts
  • Cleaning up commit history
  • Recovering lost work
  • Writing clean commit messages
  • Git hooks (intro)
9: Capstone Project
  • Apply Git to a real-world mini project
  • Use branches, commits, merge requests
  • Demonstrate collaboration and conflict resolution

Request this Training

We schedule our trainings based on the requests we receive. Whether you’re an individual or a team, fill out the form below to request this course. We’ll get back to you with available dates or a custom session – group or one-on-one. Learn more.