Version Control with Git and GitHub Training Course

Version Control with Git and GitHub Training Course

This intensive five-day training program is designed to provide participants with a deep and practical understanding of Git for distributed version control and GitHub for collaborative software development. The course moves beyond basic commands to cover complex scenarios, advanced branching strategies, and effective collaboration workflows. Participants will learn how to manage codebase history, work concurrently on projects without conflict, and leverage the full power of a centralized platform like GitHub to streamline their development process.

The curriculum is structured to first solidify fundamental Git concepts—including commits, staging, and local branching—before advancing to the collaborative aspects of GitHub. Topics covered include pull requests, code reviews, rebasing, and managing project issues. A strong emphasis is placed on practical, hands-on application, ensuring that attendees can master the commands necessary to maintain clean history, resolve merge conflicts efficiently, and integrate Git effectively into any team environment.

Who should attend the training

  • Software Developers and Engineers
  • Data Scientists and Machine Learning Engineers
  • DevOps and MLOps Practitioners
  • Project Managers and Technical Leads
  • QA Engineers and Testers
  • Technical Writers

Objectives of the training

  • Personal benefits
    • Master the core concepts and command-line interface of Git
    • Implement effective branching and merging strategies for complex projects
    • Confidently resolve merge conflicts and manage code history
    • Utilize GitHub features like pull requests and issues for effective collaboration
    • Understand and apply advanced commands to clean up and audit commit history
  • Organizational benefits
    • Establish consistent and robust version control standards across all projects
    • Reduce integration risk and improve code quality through structured workflows
    • Accelerate developer productivity by enabling parallel development
    • Enhance auditability and traceability of all code changes
    • Facilitate seamless collaboration between distributed and cross-functional teams

 

Course Duration: 5 days

Training fee: USD 1500

Training methodology

  • Interactive lectures and discussions led by industry experts
  • Practical hands-on labs and coding exercises using the Git command line and GitHub
  • Case studies focusing on popular branching models (e.g., Gitflow, Trunk-based)
  • Group problem-solving sessions on complex merging and rebasing conflicts

Trainer Experience

Our trainers are senior Software Engineers and DevOps specialists with an average of 10+ years of experience integrating and teaching Git and GitHub best practices within large-scale development organizations. They are experts in coaching teams through challenging migration and workflow adoption scenarios, bringing practical, real-world context to every command and concept taught.

Quality Statement

We are committed to delivering the highest quality professional training. Our course materials are continuously updated to reflect the latest features and best practices from Git and GitHub. Feedback is actively sought and integrated to ensure an optimal learning experience and measurable skill improvement for every participant.

Tailor-made courses

This course can be customized to meet the specific technological stack, industry requirements, and team objectives of your organization. We offer flexible delivery options, including on-site, virtual, and blended learning solutions tailored to your unique needs.

Module 1: Git Fundamentals and Installation

  • Understanding the concept of Distributed Version Control Systems (DVCS)
  • The architecture of Git: Repository, Working Directory, Staging Area
  • Installation and initial configuration of Git (user name, email, editor)
  • Creating and initializing a local Git repository
  • The difference between git add, git status, and git commit

Module 2: Basic Git Workflow and Local Repositories

  • The lifecycle of a file: Untracked, Staged, Committed
  • Viewing and inspecting the commit history using git log
  • Undoing changes: git restore, git reset, and git revert
  • Ignoring files and directories using .gitignore
  • Practical session: Initializing a project, staging changes, creating commits, and using git log to navigate the history

Module 3: Branching, Merging, and Conflict Resolution

  • Why branches are essential for isolation and parallel development
  • Creating, switching, listing, and deleting branches
  • The fast-forward merge and the three-way merge
  • Identifying and resolving merge conflicts manually
  • Practical session: Creating feature branches, making parallel changes, performing a merge, and manually resolving a conflict

Module 4: Working with Remote Repositories (GitHub)

  • Cloning a remote repository from GitHub to the local machine
  • Pushing local commits to the remote repository using git push
  • Fetching and pulling changes from the remote repository
  • Setting up and managing multiple remote connections
  • Practical session: Cloning an existing GitHub repository and practicing the push/pull cycle for synchronization

Module 5: Collaborating with Pull Requests and Code Review

  • The concept and purpose of Pull Requests (PRs) in team workflows
  • Creating a PR on GitHub and setting up reviewers and assignees
  • Performing and responding to code reviews effectively
  • Utilizing GitHub's features for commenting, suggesting changes, and merging
  • Practical session: Creating a fork of a repository, pushing changes to the fork, and submitting a formal Pull Request for review

Module 6: Advanced Git Commands and Rewriting History

  • The power of git rebase for maintaining a linear history
  • Interactive rebasing (git rebase -i) for squashing and editing commits
  • Using git cherry-pick to move specific commits between branches
  • Cleaning up the working directory with git clean
  • Practical session: Performing an interactive rebase to squash multiple feature commits into a single, clean commit before merging

Module 7: Git in Agile Teams and Workflow Models

  • Understanding the Gitflow branching model and its conventions
  • Implementing a Trunk-Based Development (TBD) workflow
  • Best practices for feature branches and release management
  • Tagging releases and stable versions with git tag
  • Practical session: Simulating a release using a chosen branching strategy (e.g., creating a release branch, tagging the final version)

Module 8: Managing GitHub Projects and Issues

  • Using GitHub Issues for bug tracking and feature requests
  • Organizing work with GitHub Projects and Kanban boards
  • Utilizing labels, milestones, and assignments for project clarity
  • Searching and filtering issues and pull requests efficiently
  • Practical session: Creating a Project board, defining tasks as Issues, and linking a Pull Request back to its associated Issue

Module 9: Repository Security and Access Control

  • Managing repository visibility (public, private, internal)
  • Configuring branch protection rules for quality enforcement (required checks, required reviews)
  • Utilizing SSH keys versus HTTPS for secure repository access
  • Role-Based Access Control (RBAC) in GitHub Organizations
  • Practical session: Configuring branch protection rules to prevent direct pushes to the main branch and enforce required status checks

Module 10: Automating Tasks with GitHub Actions

  • Introduction to CI/CD and the role of GitHub Actions
  • Writing a basic workflow file for continuous integration
  • Understanding runners, jobs, and steps in a GitHub Action
  • Using marketplace actions for common tasks (e.g., linting, testing)
  • Practical session: Creating a basic GitHub Actions workflow that automatically runs unit tests upon every push to a feature branch

Requirements:

·       Participants should be reasonably proficient in English.

·       Applicants must live up to Armstrong Global Institute admission criteria.

Terms and Conditions

1. Discounts: Organizations sponsoring Four Participants will have the 5th attend Free

2. What is catered for by the Course Fees: Fees cater for all requirements for the training – Learning materials, Lunches, Teas, Snacks and Certification. All participants will additionally cater for their travel and accommodation expenses, visa application, insurance, and other personal expenses.

3. Certificate Awarded: Participants are awarded Certificates of Participation at the end of the training.

4. The program content shown here is for guidance purposes only. Our continuous course improvement process may lead to changes in topics and course structure.

5. Approval of Course: Our Programs are NITA Approved. Participating organizations can therefore claim reimbursement on fees paid in accordance with NITA Rules.

Booking for Training

Simply send an email to the Training Officer on training@armstrongglobalinstitute.com and we will send you a registration form. We advise you to book early to avoid missing a seat to this training.

Or call us on +254720272325 / +254725012095 / +254724452588

Payment Options

We provide 3 payment options, choose one for your convenience, and kindly make payments at least 5 days before the Training start date to reserve your seat:

1. Groups of 5 People and Above – Cheque Payments to: Armstrong Global Training & Development Center Limited should be paid in advance, 5 days to the training.

2. Invoice: We can send a bill directly to you or your company.

3. Deposit directly into Bank Account (Account details provided upon request)

Cancellation Policy

1. Payment for all courses includes a registration fee, which is non-refundable, and equals 15% of the total sum of the course fee.

2. Participants may cancel attendance 14 days or more prior to the training commencement date.

3. No refunds will be made 14 days or less before the training commencement date. However, participants who are unable to attend may opt to attend a similar training course at a later date or send a substitute participant provided the participation criteria have been met.

Tailor Made Courses

This training course can also be customized for your institution upon request for a minimum of 5 participants. You can have it conducted at our Training Centre or at a convenient location. For further inquiries, please contact us on Tel: +254720272325 / +254725012095 / +254724452588 or Email training@armstrongglobalinstitute.com

Accommodation and Airport Transfer

Accommodation and Airport Transfer is arranged upon request and at extra cost. For reservations contact the Training Officer on Email: training@armstrongglobalinstitute.com or on Tel: +254720272325 / +254725012095 / +254724452588

Instructor-led Training Schedule

Course Dates Venue Fees Enroll
Armstrong Global Institute

Armstrong Global Institute
Typically replies in minutes

Armstrong Global Institute
Hi there 👋

We are online on WhatsApp to answer your questions.
Ask us anything!
×
Chat with Us