{"id":58576,"date":"2025-06-19T10:13:22","date_gmt":"2025-06-19T10:13:22","guid":{"rendered":"https:\/\/ctraining.co.il\/?post_type=course&#038;p=58576"},"modified":"2025-06-22T09:08:11","modified_gmt":"2025-06-22T09:08:11","slug":"git-github-and-gitlab-course","status":"publish","type":"course","link":"https:\/\/ctraining.co.il\/en\/course\/git-github-and-gitlab-course\/","title":{"rendered":"Git GitHub and GitLab Course"},"content":{"rendered":"<h2 dir=\"ltr\" style=\"text-align: left;\">Audience<\/h2>\n<p dir=\"ltr\" style=\"text-align: left;\">developers, people who work with code in one way or another<\/p>\n<h2 dir=\"ltr\" style=\"text-align: left;\">Course Objective<\/h2>\n<p dir=\"ltr\" style=\"text-align: left;\">By the end of the course, participants will:<\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Master Git as a distributed version control system for solo and collaborative development.<\/li>\n<li>Gain hands-on experience with GitHub and GitLab, focusing on real-world workflows and industry standards.<\/li>\n<li>Understand how to manage, review, and integrate code in multi-developer environments.<\/li>\n<li>Build, automate, and secure CI\/CD pipelines using both GitHub Actions and GitLab CI\/CD.<\/li>\n<li>Learn best practices for permissions, access control, secrets management, and DevSecOps.<\/li>\n<\/ul>\n<h2 dir=\"ltr\" style=\"text-align: left;\">Course Outline<\/h2>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Part 1 \u2013 Foundations of Git, GitHub, and GitLab<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Introduction to Git and Version Control Principles<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>What is Git, and why is it essential in modern development?<\/li>\n<li>Core concepts: repositories, commits, branches, mergers, and staging.<\/li>\n<li>Understanding Git internals: working directory, index, local vs. remote.<\/li>\n<li>Managing and rolling back changes: revert, reset, checkout, and stash.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Working with Remote Repositories<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Setting up GitHub and GitLab accounts and connecting remote repositories.<\/li>\n<li>Cloning, forking, and maintaining synchronization with origin.<\/li>\n<li>Fetch, pull, push: understanding the data flow.<\/li>\n<li>Visualizing history and collaboration with graphical tools.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Branching Strategies and Collaborative Development<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Effective use of branches for features, bug fixes, and experiments.<\/li>\n<li>Introduction to Git workflows: centralized, feature branch, GitFlow, trunk-based.<\/li>\n<li>Collaborating through Pull Requests (GitHub) and Merge Requests (GitLab).<\/li>\n<li>Code review processes: inline comments, discussions, approval requirements.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Issue Tracking, Documentation, and Project Boards<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Managing development tasks with GitHub Issues and GitLab Issues.<\/li>\n<li>Milestones, labels, assignments, and workflows.<\/li>\n<li>Creating structured README files, contributing guidelines, and changelogs.<\/li>\n<li>Using GitHub Projects and GitLab Boards for agile task tracking.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>\u00a0<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Part 2 \u2013 Advanced Git Usage, CI\/CD, and DevOps Automation<\/strong><\/p>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Advanced Git Features and Workflows<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Submodules, tags, and release management.<\/li>\n<li>Working with rebase, squashing commits, and resolving complex conflicts.<\/li>\n<li>Using hooks and custom Git aliases to improve productivity.<\/li>\n<li>Signing commits and enforcing security policies.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>CI\/CD Pipeline Fundamentals<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Introduction to continuous integration and continuous deployment principles.<\/li>\n<li>Comparing GitHub Actions vs. GitLab CI\/CD.<\/li>\n<li>Anatomy of a pipeline: jobs, stages, runners, triggers, and artifacts.<\/li>\n<li>YAML configuration basics and best practices.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Automated Testing and Deployment<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Integrating testing frameworks into the pipeline.<\/li>\n<li>Generating test coverage reports and using them as deployment gates.<\/li>\n<li>Building and pushing Docker images automatically.<\/li>\n<li>Deploying to live environments: Heroku, AWS, Kubernetes, and custom servers.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Secrets Management and Access Control<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Managing environment variables and sensitive data securely.<\/li>\n<li>Role-based access control in GitHub and GitLab.<\/li>\n<li>Using organizational repositories, teams, and protected branches.<\/li>\n<li>Secrets injection, masked variables, and secure pipeline execution.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>DevSecOps and Security Practices<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Static application security testing (SAST) with built-in tools.<\/li>\n<li>Dependency scanning (e.g., GitHub Dependabot, GitLab Dependency Scanning).<\/li>\n<li>Mitigating common threats: exposed credentials, misconfigured pipelines.<\/li>\n<li>Enforcing policies and audit trails in team environments.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Advanced Collaboration and Open Source Best Practices<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Working with forks and upstream contributions.<\/li>\n<li>Managing contributions in open-source projects.<\/li>\n<li>Community engagement via Discussions, Wikis, and Actions Marketplace.<\/li>\n<li>Governance models and contributor agreements.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Final Project and Course Completion<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Participants will work individually or in teams to deliver a real-world Git-based project.<\/li>\n<li>The project will include version control setup, branching strategy, collaboration simulation, and automated CI\/CD pipeline.<\/li>\n<li>Final presentations include demonstrating version control best practices, pipeline execution, and deployment flow.<\/li>\n<\/ul>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Instruction Methodology<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Hands-on labs and real-life scenarios.<\/li>\n<li>Peer collaboration exercises simulating real software teams.<\/li>\n<li>Instructor-led walkthroughs and guided challenges.<\/li>\n<li>Access to shared repositories and sandbox environments.<\/li>\n<\/ul>\n<h2 dir=\"ltr\" style=\"text-align: left;\">Course Outcomes<\/h2>\n<p dir=\"ltr\" style=\"text-align: left;\"><strong>Participants will finish the course with:<\/strong><\/p>\n<ul dir=\"ltr\" style=\"text-align: left;\">\n<li>Strong Git fundamentals and advanced collaboration skills.<\/li>\n<li>Practical experience in managing and contributing to repositories on GitHub and GitLab.<\/li>\n<li>Hands-on understanding of DevOps pipelines, secrets, and deployment.<\/li>\n<li>Readiness to implement Git-centric CI\/CD workflows in their own work environments.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"featured_media":43534,"template":"","meta":{"_acf_changed":false,"inline_featured_image":false},"tags":[5578],"coursetype":[1431],"product":[5159],"audience":[],"class_list":["post-58576","course","type-course","status-publish","has-post-thumbnail","hentry","tag-git-github-and-gitlab-en","coursetype-development-courses","product-development-courses"],"acf":[],"_links":{"self":[{"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/course\/58576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/course"}],"about":[{"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/types\/course"}],"version-history":[{"count":0,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/course\/58576\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/media\/43534"}],"wp:attachment":[{"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/media?parent=58576"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/tags?post=58576"},{"taxonomy":"coursetype","embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/coursetype?post=58576"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/product?post=58576"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/ctraining.co.il\/en\/wp-json\/wp\/v2\/audience?post=58576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}