Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Duration 14 hours
Course Outline
Module 1 – Advanced Git & GitHub Workflows
- In-depth Git concepts and comprehensive repository management
- Evaluating branching strategies: GitFlow compared to trunk-based development
- Techniques for rebasing, merging, and cherry-picking
- Utilizing interactive rebase for history refinement
- Effectively managing and resolving complex merge conflicts
- Implementing tags, releases, and version control strategies
- Investigating Git history and performing data recovery
- Adopting best practices suited for large-scale development teams
Module 2 – Advanced Pull Requests & Collaboration
- Architecting highly effective pull request workflows
- Implementing draft pull requests and structured review strategies
- Configuring CODEOWNERS for accountability
- Setting up branch protection rules and rulesets
- Enforcing required reviews and status checks
- Handling large-scale and long-running pull requests efficiently
- Creating issue templates and standardized pull request templates
- Leveraging GitHub Projects for task management
- Managing teams, permissions, and overall repository governance
- Hands-on exercise: designing an enterprise-grade collaboration workflow
Module 3 – GitHub Actions & CI/CD
- Understanding the internal architecture of GitHub Actions
- Defining workflows, jobs, steps, and trigger events
- Managing secrets, variables, and environments securely
- Implementing conditional execution and job dependencies
- Utilizing matrix strategies for scalable testing
- Optimizing artifacts and caching mechanisms
- Building reusable workflows and composite actions
- Debugging and optimizing workflow performance
- Constructing robust CI pipelines
- Implementing automated testing and build workflows
- Executing multi-environment deployment strategies
- Automating release processes
- Hands-on exercise: constructing an end-to-end CI/CD pipeline
Module 4 – GitHub Security & Automation
- Exploring GitHub’s built-in security capabilities
- Managing dependencies effectively with Dependabot
- Implementing dependency review processes
- Securing code with secret scanning and push protection
- Conducting code scanning for vulnerabilities
- Establishing security policies and vulnerability management protocols
- Enhancing supply-chain security practices
- Using the GitHub CLI for automation
- Overview of the GitHub REST API
- Configuring webhooks and external integrations
- Automating repository tasks, issues, and pull requests
- Practical scenarios focused on security and automation
Module 5 – End-to-End GitHub Workflow
- Designing a comprehensive GitHub development lifecycle
- Defining repository and branching strategies
- Refining the pull request and code review process
- Integrating automated testing into the workflow
- Building and maintaining CI/CD pipelines
- Incorporating security checks into the pipeline
- Streamlining release management
- Troubleshooting issues and optimizing performance
- Team-based practical exercise
- Course summary and Q&A session
Optional Module – GitHub Copilot
- Exploring GitHub Copilot’s capabilities and workflow integration
- Utilizing Copilot Chat and IDE integrations
- Crafting effective prompts for developer assistance
- Leveraging code generation and explanation features
- Assisting with refactoring and performance optimization
- Generating unit tests automatically
- Debugging code with Copilot support
- Automating documentation generation
- Enhancing pull requests and code reviews with Copilot
- Practicing responsible and secure use of AI-generated code
- Practical exercises with GitHub Copilot
Requirements
To fully benefit from this course, participants are expected to have:
- Direct, practical experience working with Git and GitHub
- A solid grasp of core concepts such as repositories, branches, commits, and pull requests
- Foundational knowledge of GitHub Actions is advantageous, though not mandatory
- General familiarity with standard software development lifecycles
Testimonials (1)
Easy going trainer, very knowledgeable and approachable.