Duration 2 Days – 14 hrs
Overview
The Git and Version Control Fundamentals Training Course is a foundational program designed to introduce participants to version control concepts and the practical use of Git for managing source code, documents, scripts, configuration files, and project collaboration.
This course helps participants understand how version control supports software development, IT operations, testing, DevOps, and collaborative project delivery. Participants will learn how to create repositories, track changes, manage branches, merge updates, resolve basic conflicts, and work with remote repositories using platforms such as GitHub, GitLab, Bitbucket, or enterprise-hosted Git systems.
The course is designed for beginners and new IT professionals who need to work effectively in a team-based development or technical project environment.
Objectives
- Understand the purpose and importance of version control in software and IT projects.
- Explain the difference between local, centralized, and distributed version control systems.
- Understand the basic Git workflow: working directory, staging area, local repository, and remote repository.
- Install, configure, and use Git for basic version control tasks.
- Create and manage Git repositories.
- Track changes, stage files, commit updates, and view project history.
- Use branches to organize work and support parallel development.
- Merge changes and handle basic merge conflicts.
- Work with remote repositories using GitHub, GitLab, Bitbucket, or similar platforms.
- Apply standard collaboration workflows used by development, QA, DevOps, and IT teams.
- Follow basic best practices for commit messages, branching, repository organization, and teamwork.
Target Audience
- New IT hires and fresh graduates
- Software developers
- Programmer analysts
- Web developers
- Mobile application developers
- QA testers and automation testers
- DevOps engineers
- Cloud engineers
- System administrators
- Data engineers and data analysts working with scripts or code
- Technical support and application support teams
- Business analysts working with technical teams
- Project coordinators involved in software delivery
- Any professional who needs to understand Git and version control fundamentals
Prerequisites
- Basic computer literacy
- Basic understanding of files, folders, and command-line navigation
- Basic familiarity with software development concepts is helpful but not required
Course Outline
Day 1: Version Control Concepts and Git Basics
Module 1: Introduction to Version Control
Topics:
- What is version control?
- Why version control is important in IT and software projects
- Common problems solved by version control
- File history, change tracking, rollback, and collaboration
- Version control in software development, testing, DevOps, and documentation
- Centralized vs. distributed version control
- Overview of Git as a distributed version control system
Activity:
Identify real workplace scenarios where version control prevents errors, lost files, and conflicting changes.
Module 2: Git Concepts and Architecture
Topics:
- Git repository overview
- Working directory
- Staging area
- Local repository
- Remote repository
- Commits and snapshots
- Commit IDs and project history
- HEAD concept
- Git object model overview
- Basic Git workflow
Activity:
Diagram the Git workflow from file modification to commit and remote push.
Module 3: Git Installation and Initial Configuration
Topics:
- Installing Git
- Checking Git version
- Setting username and email
- Configuring default editor
- Understanding global, system, and local Git configuration
- Introduction to command-line Git
- Overview of GUI tools and IDE integration
- Introduction to Visual Studio Code Git features
Hands-On Exercise:
Install and configure Git, then verify basic Git settings.
Module 4: Creating and Managing Local Repositories
Topics:
- Creating a new Git repository
- Initializing a repository using git init
- Checking repository status
- Tracking new files
- Understanding tracked and untracked files
- Staging files
- Creating commits
- Viewing commit history
- Understanding .git folder
- Basic file modification workflow
Hands-On Exercise:
Create a local repository, add files, stage changes, commit updates, and review history.
Module 5: Basic Git Commands
Topics:
- git init
- git status
- git add
- git commit
- git log
- git diff
- git restore
- git rm
- git mv
- Viewing changes before and after staging
- Undoing basic changes safely
- Common beginner mistakes and how to avoid them
Hands-On Exercise:
Practice the basic Git command workflow using sample project files.
Module 6: Commit Best Practices
Topics:
- What makes a good commit?
- Small and meaningful commits
- Writing clear commit messages
- Commit message structure
- Avoiding large, unclear commits
- When to commit
- What not to commit
- Introduction to .gitignore
- Common files to exclude from repositories
Hands-On Exercise:
Create a .gitignore file and practice writing meaningful commit messages.
Day 2: Branching, Remote Repositories, and Collaboration
Module 7: Branching Fundamentals
Topics:
- What is a branch?
- Why teams use branches
- Main branch and feature branches
- Creating branches
- Switching branches
- Listing branches
- Renaming and deleting branches
- Understanding branch history
- Branching strategies overview
Hands-On Exercise:
Create a feature branch, make changes, commit updates, and switch between branches.
Module 8: Merging and Conflict Resolution
Topics:
- What is merging?
- Fast-forward merge
- Three-way merge
- Merge conflicts
- Why conflicts happen
- Reading conflict markers
- Resolving basic conflicts
- Aborting a merge
- Best practices to reduce conflicts
Hands-On Exercise:
Simulate a merge conflict, resolve it, and complete the merge process.
Module 9: Working with Remote Repositories
Topics:
- What is a remote repository?
- Overview of GitHub, GitLab, Bitbucket, and enterprise Git platforms
- Creating a remote repository
- Cloning repositories
- Adding remote origin
- Pushing changes
- Pulling updates
- Fetching changes
- Understanding upstream branches
- Authentication overview: HTTPS, tokens, and SSH keys
Hands-On Exercise:
Clone a remote repository, make changes locally, commit updates, and push changes to the remote repository.
Module 10: Team Collaboration Workflow
Topics:
- Standard Git team workflow
- Pull before push
- Feature branch workflow
- Pull request or merge request overview
- Code review process
- Approvals and merge controls
- Working with assigned tasks or tickets
- Repository permissions and access control
- Collaboration etiquette for technical teams
Activity:
Simulate a team workflow using branches, commits, push, pull, and review process.
Module 11: Git in Software Development, QA, and DevOps
Topics:
- Git in the software development life cycle
- Git for QA automation scripts
- Git for DevOps pipelines
- Git and CI/CD overview
- Git for infrastructure-as-code files
- Git for documentation and configuration management
- Version tagging and release management overview
- Repository structure for real projects
Activity:
Map Git usage across developer, QA, DevOps, and support roles.
Module 12: Best Practices and Common Troubleshooting
Topics:
- Repository organization best practices
- Naming conventions for branches
- Commit message standards
- Avoiding direct changes to protected branches
- Keeping local repositories updated
- Handling accidental commits
- Dealing with rejected pushes
- Recovering from common Git mistakes
- When to ask for review or escalation
- Recommended Git workflow for beginners
Hands-On Exercise:
Resolve common Git scenarios such as untracked files, rejected push, wrong branch commit, and simple rollback.

