Get in Touch
 Duration 14 hours

Course Outline

Module 1 – Advanced Git & GitHub Workflows

  • Deep dive into advanced Git concepts and repository management techniques
  • Comparing branching strategies: GitFlow versus trunk-based development
  • Executing rebasing, merging, and cherry-picking operations
  • Utilizing interactive rebase for history refinement
  • Strategies for managing and resolving complex merge conflicts
  • Implementing tags, releases, and robust version management
  • Investigating Git history and performing recovery actions
  • Applying best practices for large-scale development teams

Module 2 – Advanced Pull Requests & Collaboration

  • Architecting efficient pull request workflows
  • Leveraging draft pull requests and strategic review methods
  • Configuring CODEOWNERS for automated assignment
  • Establishing branch protection and rulesets
  • Enforcing required reviews and status checks
  • Managing large-scale and long-running pull requests effectively
  • Creating issue and pull request templates for consistency
  • Utilizing GitHub Projects for workflow visualization
  • Structuring teams, permissions, and repository governance
  • Practical exercise: 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
  • Utilizing matrix strategies for multi-configuration testing
  • Optimizing with artifacts and caching
  • Creating reusable workflows and composite actions
  • Debugging and optimizing workflow performance
  • Constructing robust CI pipelines
  • Integrating automated testing and build processes
  • Orchestrating multi-environment deployments
  • Automating release processes
  • Practical exercise: building a comprehensive end-to-end CI/CD pipeline

Module 4 – GitHub Security & Automation

  • Exploring built-in GitHub security capabilities
  • Leveraging Dependabot and managing dependencies
  • Implementing dependency review mechanisms
  • Enabling secret scanning and push protection
  • Conducting code scanning for vulnerabilities
  • Defining security policies and vulnerability management protocols
  • Addressing supply-chain security risks
  • Using the GitHub CLI for command-line efficiency
  • Overview of the GitHub REST API
  • Implementing webhooks and system integrations
  • Automating repository, issue, and pull request tasks
  • Practical scenarios focusing on security and automation

Module 5 – End-to-End GitHub Workflow

  • Designing a holistic GitHub development workflow
  • Defining repository and branching strategies
  • Streamlining the pull request and code review process
  • Incorporating automated testing practices
  • Integrating the CI/CD pipeline
  • Embedding security checks into the workflow
  • Managing releases effectively
  • Troubleshooting and optimizing the entire workflow
  • Team-based practical exercise
  • Course summary and Q&A session

Optional Module – GitHub Copilot

  • Exploring GitHub Copilot capabilities and integrated workflows
  • Using Copilot Chat and IDE integration
  • Crafting effective prompts for development tasks
  • Leveraging code generation and explanation features
  • Refactoring and optimizing code with AI assistance
  • Generating unit tests automatically
  • Debugging code with Copilot support
  • Generating documentation efficiently
  • Applying Copilot to pull requests and code reviews
  • Practices for responsible and secure use of AI-generated code
  • Practical exercises with GitHub Copilot

Requirements

Participants should possess the following:

  • Hands-on experience using Git and GitHub
  • A solid understanding of repositories, branches, commits, and pull requests
  • Basic familiarity with GitHub Actions is advantageous, though not mandatory
  • Knowledge of standard software development workflows

Testimonials (1)

Related Categories