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.
Course Outline
Module 1 – Advanced Git & GitHub Workflows
- Complex Git concepts and advanced repository management
- Branching methodologies: comparing GitFlow with trunk-based development
- Techniques for rebasing, merging, and cherry-picking
- Using interactive rebase
- Strategies for managing and resolving intricate merge conflicts
- Handling tags, releases, and version control
- Investigating Git history and recovering lost changes
- Best practices for supporting large-scale engineering teams
Module 2 – Advanced Pull Requests & Collaboration
- Structuring efficient pull request processes
- Utilising draft pull requests and effective review techniques
- Implementing CODEOWNERS
- Configuring branch protection and rulesets
- Enforcing required reviews and status checks
- Managing extensive or long-duration pull requests
- Creating issue and pull request templates
- Utilising GitHub Projects
- Managing teams, permissions, and overall repository governance
- Practical session: designing an enterprise-grade collaboration workflow
Module 3 – GitHub Actions & CI/CD
- Understanding the GitHub Actions architecture
- Defining workflows, jobs, steps, and triggers
- Managing secrets, variables, and environments
- Implementing conditional execution and job dependencies
- Applying matrix strategies
- Handling artifacts and caching mechanisms
- Leveraging reusable workflows and composite actions
- Debugging and optimising workflow performance
- Constructing CI pipelines
- Automating testing and build processes
- Managing deployments across multiple environments
- Automating release procedures
- Practical session: building a complete CI/CD pipeline from start to finish
Module 4 – GitHub Security & Automation
- Exploring GitHub’s security features
- Managing dependencies with Dependabot
- Implementing dependency review processes
- Utilising secret scanning and push protection
- Performing code scanning
- Establishing security policies and managing vulnerabilities
- Addressing supply-chain security risks
- Using the GitHub CLI
- Overview of the GitHub REST API
- Integrating webhooks and external systems
- Automating repository tasks, issues, and pull requests
- Practical scenarios focusing on security and automation
Module 5 – End-to-End GitHub Workflow
- Architecting a holistic GitHub development lifecycle
- Defining repository and branching strategies
- Refining the pull request and code review process
- Implementing automated testing
- Building the CI/CD pipeline
- Incorporating security checks
- Managing releases
- Troubleshooting issues and optimising performance
- Collaborative team exercise
- Summary and Q&A session
Optional Module – GitHub Copilot
- Overview of GitHub Copilot capabilities and its workflow
- Using Copilot Chat and integrating with IDEs
- Crafting effective prompts for development tasks
- Generating and explaining code
- Refactoring and performance optimisation
- Automating the generation of unit tests
- Debugging code with Copilot assistance
- Generating technical documentation
- Enhancing pull requests and code reviews with Copilot
- Ensuring responsible and secure usage of AI-generated code
- Practical Copilot exercises
Requirements
Participants are expected to have:
- Hands-on experience working with Git and GitHub
- A clear understanding of repositories, branches, commits, and pull requests
- While not mandatory, prior exposure to GitHub Actions is advantageous
- General knowledge of standard software development lifecycles
14 Hours
Testimonials (1)
Easy going trainer, very knowledgeable and approachable.