IL - GitHub Advanced

Course Overview

In this course you will learn the fundamental and advanced features of using GitHub for distributed source control in many scenarios such as application development and content hosting.

This course will also cover common organization and project management scenarios such security and permissions, sprint and issue management, managing pull requests and common source control tasks such as dealing with conflict resolution and setting up branching strategies.

This course will also detail advanced Git commands you can use to manage workflow and setup continuous integration and continuous delivery pipelines using GitHub.

The course will wrap up by having the students design and whiteboard solutions to real world scenarios they will likely face as they migrate projects to GitHub.

Course Details
  • Duration: 3 Days
  • Level: 300
Who this course is designed for
  • Project Managers
  • Line of Business Application Owners
  • Developers

Course Pre-Requisites

  • A computer with an Internet connection (PC or MAC)
  • A account

Course Modules

MODULE 1: Getting Started

In this module, students will learn about:
• What is GitHub?
• Setting Up a GitHub Account
• Installing Git
• Setting Up a Text Editor
• Exploring a GitHub Repository
• User Accounts vs. Organization Accounts
• Understanding the GitHub Flow

MODULE 2: Collaboration

In this module, students will learn about:
• Branching with Git
• Local Git Configuration
• Working Locally with Git
• Collaborating on Code
• Editing Files on GitHub
• Merging Pull Requests
• Viewing Local Project Local History
• Streamlining Workflow with Aliases

MODULE 3: Resolving Merge Conflicts

In this module, students will learn about:
• Resolving Merge Conflicts

MODULE 4: Workflow Concepts

In this module, students will learn about:
• Workflow Review
• Protected Branches
• Code Owners
• Git Bisect
• Reverting Commits
• Helpful Git Commands
• Viewing Local Changes
• Tags and Releases
• Workflow Discussion

MODULE 5: Advanced Concepts

In this module, students will learn about:
• Fixing Commit Mistakes
• Rewriting History with Git Reset
• Cherry Picking
• Merge Strategies

MODULE 6: Sprint Planning

In this module, students will learn about:
• What is a sprint?
• What is sprint planning?
• How to do spring planning on GitHub

MODULE 7: Setting Up Continuous Integration / Continuous Delivery

In this module, students will learn about:
• Software Development Pipeline
• What is CI/CD?
• Configure Continuous Integration
• Configure Continuous Delivery
• Webhooks

MODULE 8: Whiteboard Session

In this module, students will work together in small groups to design and whiteboard real world workflows:
• Scenario 1: Tests and releases
• Scenario 2: Repository planning organization
• Scenario 3: Migrated from CVCS
• Scenario 4: Simple deployment pipeline
• Scenario 5: More complex deployment pipeline


Expert Training

Contact the experts at Opsgility to schedule this class at your location or to discuss a more comprehensive readiness solution for your organization.

Looking for individual training?