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 – Mastering Advanced Git & GitHub Workflows
- Deep dive into advanced Git concepts and effective repository administration
- Exploring branching strategies: a comparison of GitFlow versus trunk-based development
- Techniques for rebasing, merging, and cherry-picking commits
- Utilizing interactive rebase for history management
- Strategies for managing and resolving complex merge conflicts
- Managing tags, releases, and version control
- Investigating Git history and performing data recovery
- Best practices specifically suited for large-scale development teams
Module 2 – Sophisticated Pull Requests & Team Collaboration
- Crafting efficient pull request workflows
- Leveraging draft pull requests and effective review strategies
- Implementing CODEOWNERS files for code accountability
- Configuring branch protection rules and advanced rulesets
- Enforcing required reviews and status checks
- Best practices for handling large or long-running pull requests
- Customizing issue and pull request templates
- Managing work using GitHub Projects
- Structuring teams, permissions, and overall repository governance
- Hands-on exercise: designing an enterprise-grade collaboration workflow
Module 3 – GitHub Actions & CI/CD Automation
- Understanding the core architecture of GitHub Actions
- Configuring workflows, jobs, steps, and event triggers
- Managing secrets, environment variables, and environments
- Implementing conditional logic and job dependencies
- Using matrix strategies for parallel testing and builds
- Handling build artifacts and optimizing caching
- Leveraging reusable workflows and composite actions
- Debugging workflows and optimizing performance
- Constructing robust CI pipelines
- Setting up automated testing and build processes
- Executing multi-environment deployments
- Automating release cycles
- Practical exercise: building a complete end-to-end CI/CD pipeline
Module 4 – GitHub Security & Intelligent Automation
- Overview of built-in GitHub security features
- Utilizing Dependabot for proactive dependency management
- Implementing dependency review processes
- Preventing leaks with secret scanning and push protection
- Performing code scanning for vulnerabilities
- Defining security policies and managing vulnerabilities
- Enhancing supply-chain security measures
- Command-line efficiency with GitHub CLI
- Introduction to the GitHub REST API
- Setting up Webhooks and third-party integrations
- Automating repository tasks, issues, and pull requests
- Practical scenarios focusing on security and automation
Module 5 – Integrated End-to-End GitHub Workflow
- Architecting a comprehensive GitHub development workflow
- Defining repository structure and branching strategies
- Establishing pull request and code review processes
- Integrating automated testing frameworks
- Connecting the CI/CD pipeline
- Incorporating mandatory security checks
- Streamlining release management
- Techniques for troubleshooting and performance optimization
- Collaborative team-based practical exercise
- Course summary and Q&A session
Optional Module – Leveraging GitHub Copilot
- Overview of GitHub Copilot’s capabilities and integration into workflows
- Using Copilot Chat and IDE integrations
- Crafting effective prompts for developer productivity
- Generating and explaining code snippets
- Assisted refactoring and code optimization
- Automating the generation of unit tests
- Debugging assistance with Copilot
- Automated documentation generation
- Applying Copilot to pull requests and code reviews
- Guidelines for responsible and secure use of AI-generated code
- Hands-on Copilot exercises
Requirements
Participants are expected to possess the following foundational knowledge:
- Hands-on proficiency with Git and GitHub
- Conceptual understanding of repositories, branches, commits, and pull requests
- Basic exposure to GitHub Actions is advantageous, though not mandatory
- A general familiarity with standard software development lifecycles
Testimonials (1)
Easy going trainer, very knowledgeable and approachable.