Get in Touch

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

Number of participants


Price per participant

Testimonials (1)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories