Git GitHub and GitLab Course

CTR-811

carmel-website
carmel website
carmel-website
carmel-website

Audience

developers, people who work with code in one way or another

Course Objective

By the end of the course, participants will:

  • Master Git as a distributed version control system for solo and collaborative development.
  • Gain hands-on experience with GitHub and GitLab, focusing on real-world workflows and industry standards.
  • Understand how to manage, review, and integrate code in multi-developer environments.
  • Build, automate, and secure CI/CD pipelines using both GitHub Actions and GitLab CI/CD.
  • Learn best practices for permissions, access control, secrets management, and DevSecOps.

Course Outline

Part 1 – Foundations of Git, GitHub, and GitLab

Introduction to Git and Version Control Principles

  • What is Git, and why is it essential in modern development?
  • Core concepts: repositories, commits, branches, mergers, and staging.
  • Understanding Git internals: working directory, index, local vs. remote.
  • Managing and rolling back changes: revert, reset, checkout, and stash.

Working with Remote Repositories

  • Setting up GitHub and GitLab accounts and connecting remote repositories.
  • Cloning, forking, and maintaining synchronization with origin.
  • Fetch, pull, push: understanding the data flow.
  • Visualizing history and collaboration with graphical tools.

Branching Strategies and Collaborative Development

  • Effective use of branches for features, bug fixes, and experiments.
  • Introduction to Git workflows: centralized, feature branch, GitFlow, trunk-based.
  • Collaborating through Pull Requests (GitHub) and Merge Requests (GitLab).
  • Code review processes: inline comments, discussions, approval requirements.

Issue Tracking, Documentation, and Project Boards

  • Managing development tasks with GitHub Issues and GitLab Issues.
  • Milestones, labels, assignments, and workflows.
  • Creating structured README files, contributing guidelines, and changelogs.
  • Using GitHub Projects and GitLab Boards for agile task tracking.

 

Part 2 – Advanced Git Usage, CI/CD, and DevOps Automation

Advanced Git Features and Workflows

  • Submodules, tags, and release management.
  • Working with rebase, squashing commits, and resolving complex conflicts.
  • Using hooks and custom Git aliases to improve productivity.
  • Signing commits and enforcing security policies.

CI/CD Pipeline Fundamentals

  • Introduction to continuous integration and continuous deployment principles.
  • Comparing GitHub Actions vs. GitLab CI/CD.
  • Anatomy of a pipeline: jobs, stages, runners, triggers, and artifacts.
  • YAML configuration basics and best practices.

Automated Testing and Deployment

  • Integrating testing frameworks into the pipeline.
  • Generating test coverage reports and using them as deployment gates.
  • Building and pushing Docker images automatically.
  • Deploying to live environments: Heroku, AWS, Kubernetes, and custom servers.

Secrets Management and Access Control

  • Managing environment variables and sensitive data securely.
  • Role-based access control in GitHub and GitLab.
  • Using organizational repositories, teams, and protected branches.
  • Secrets injection, masked variables, and secure pipeline execution.

DevSecOps and Security Practices

  • Static application security testing (SAST) with built-in tools.
  • Dependency scanning (e.g., GitHub Dependabot, GitLab Dependency Scanning).
  • Mitigating common threats: exposed credentials, misconfigured pipelines.
  • Enforcing policies and audit trails in team environments.

Advanced Collaboration and Open Source Best Practices

  • Working with forks and upstream contributions.
  • Managing contributions in open-source projects.
  • Community engagement via Discussions, Wikis, and Actions Marketplace.
  • Governance models and contributor agreements.

Final Project and Course Completion

  • Participants will work individually or in teams to deliver a real-world Git-based project.
  • The project will include version control setup, branching strategy, collaboration simulation, and automated CI/CD pipeline.
  • Final presentations include demonstrating version control best practices, pipeline execution, and deployment flow.

Instruction Methodology

  • Hands-on labs and real-life scenarios.
  • Peer collaboration exercises simulating real software teams.
  • Instructor-led walkthroughs and guided challenges.
  • Access to shared repositories and sandbox environments.

Course Outcomes

Participants will finish the course with:

  • Strong Git fundamentals and advanced collaboration skills.
  • Practical experience in managing and contributing to repositories on GitHub and GitLab.
  • Hands-on understanding of DevOps pipelines, secrets, and deployment.
  • Readiness to implement Git-centric CI/CD workflows in their own work environments.

Fill in the details and we will get back to you as soon as possible

Why choose Carmel Training?

We offer quality solutions for professional training that save you time and resources, and provide you with the tools to take your skills one step further!

carmel website

leading lecturers

Have training experience
and practical rich

carmel website

coming to you

You determine the location of the course and the date

carmel website

theory and practice

Study materials and laboratories
Microsoft official available in the cloud

carmel website

customized program

Full and personal adjustment to the requirements and needs of the organization

You might also be interested..

Git GitHub and GitLab Course

Skip to content