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
- Deep dives into advanced Git concepts and robust repository management
- Comparing branching strategies: GitFlow versus trunk-based development
- Techniques for rebasing, merging, and cherry-picking commits
- Utilizing interactive rebase for cleaner history
- Strategies for managing and resolving intricate merge conflicts
- Version management through tags and releases
- Investigating Git history and recovering from errors
- Best practices for maintaining efficiency in large development teams
Module 2 – Advanced Pull Requests & Collaboration
- Structuring effective pull request lifecycles
- Leveraging draft pull requests and implementing structured review strategies
- Implementing CODEOWNERS for responsibility assignment
- Configuring branch protection rules and rulesets
- Enforcing required reviews and status checks
- Tactics for handling large, long-running pull requests
- Standardizing processes using issue and pull request templates
- Utilizing GitHub Projects for tracking
- Managing teams, permissions, and overall repository governance
- Practical exercise: Architecting an enterprise-grade collaboration workflow
Module 3 – GitHub Actions & CI/CD
- Understanding the underlying architecture of GitHub Actions
- Configuring workflows, jobs, steps, and event triggers
- Managing secrets, variables, and deployment environments
- Implementing conditional execution and job dependencies
- Using matrix strategies for parallel testing
- Optimizing performance with artifacts and caching
- Creating reusable workflows and composite actions
- Debugging and optimizing workflow performance
- Constructing robust CI pipelines
- Setting up automated testing and build processes
- Managing multi-environment deployment strategies
- Automating the release process
- Practical exercise: Developing a complete end-to-end CI/CD pipeline
Module 4 – GitHub Security & Automation
- Exploring built-in GitHub security features
- Managing dependencies with Dependabot
- Implementing dependency review processes
- Utilizing secret scanning and push protection to prevent leaks
- Integrating code scanning tools
- Defining security policies and managing vulnerabilities
- Addressing supply-chain security risks
- Working efficiently with the GitHub CLI
- Overview of the GitHub REST API
- Configuring webhooks and external integrations
- Automating the handling of repositories, issues, and pull requests
- Practical scenarios focused on security and automation
Module 5 – End-to-End GitHub Workflow
- Designing a holistic GitHub development lifecycle
- Establishing repository structure and branching strategies
- Refining the pull request and code review process
- Integrating automated testing suites
- Connecting the CI/CD pipeline
- Embedding security checks into the workflow
- Streamlining release management
- Techniques for troubleshooting and performance optimization
- Team-based practical exercise
- Course summary and Q&A session
Optional Module – GitHub Copilot
- Introducing GitHub Copilot capabilities and integrated workflows
- Using Copilot Chat and IDE integrations
- Crafting effective prompts for development tasks
- Leveraging code generation and explanation features
- Assisting with refactoring and optimization
- Automating the generation of unit tests
- Utilizing Copilot for debugging assistance
- Generating technical documentation
- Incorporating Copilot into pull requests and code reviews
- Guidelines for responsible and secure use of AI-generated code
- Hands-on exercises with Copilot
Requirements
To participate effectively, candidates are expected to have:
- Hands-on experience working with Git and GitHub
- A solid grasp of core concepts such as repositories, branches, commits, and pull requests
- Basic exposure to GitHub Actions, though this is advantageous rather than mandatory
- General familiarity with standard software development lifecycles
Testimonials (1)
Easy going trainer, very knowledgeable and approachable.