8173  Reviews star_rate star_rate star_rate star_rate star_half

GitHub and GitHub Actions

This GitHub and GitHub Actions course teaches developers fundamental concepts, including the distinction between Git and GitHub, effective repository management, and collaborative workflows....

Read More
Course Code WA3621
Duration 2 days
Available Formats Classroom

This GitHub and GitHub Actions course teaches developers fundamental concepts, including the distinction between Git and GitHub, effective repository management, and collaborative workflows. Furthermore, the course delves into using GitHub Actions to streamline Continuous Integration (CI) and Continuous Deployment (CD) processes.

Skills Gained

  • Differentiate between Git and GitHub and explain their roles in version control and collaboration.
  • Navigate the GitHub interface.
  • Create and clone repositories, and synchronize local repositories with GitHub using Push, Fetch, and Pull.
  • Manage branches, merge changes, and resolve conflicts.
  • Understand GitHub Codespaces for enhanced development workflows.
  • Create and manage workflows to automate CI/CD processes.

Prerequisites

All attendees must have taken Accelebrate's course Git for Developers or have the equivalent knowledge.

Course Details

Training Materials

All Git training attendees receive comprehensive course materials.

Software Requirements

Attendees will not need to install any software on their computers for this class. The class will be conducted in a remote environment that Accelebrate will provide; students will only need a local computer with a web browser and a stable Internet connection. Any recent version of Microsoft Edge, Mozilla Firefox, or Google Chrome will work well.

Outline

<ul><li>Introduction</li><li>Git vs. GitHub <ul><li>Key differences between Git and GitHub</li></ul></li><li>GitHub interface overview <ul><li>Navigation: Repositories, Pull Requests, Issues, and Actions</li><li>Settings: Managing repository permissions and configurations</li></ul></li><li>Creating and cloning repositories <ul><li>Steps to create a new repository on GitHub (public vs. private)</li><li>Cloning a repository locally using HTTPS, SSH, or GitHub CLI</li></ul></li><li>Synchronize GitHub and local repositories (Push, Fetch, Pull)</li><li>Branching and merging <ul><li>Creating, switching, and deleting branches using Git commands</li><li>Performing merges</li></ul></li><li>Resolving conflicts <ul><li>Understanding why merge conflicts occur and common scenarios</li><li>Conflict resolution using tools like VS Code or the Git CLI</li></ul></li><li>Forking <ul><li>Keeping a forked repository in sync with the original repository</li></ul></li><li>Pull requests <ul><li>Creating pull requests for code review and contribution</li><li>Managing pull request workflows: Assigning reviewers and merging changes</li></ul></li><li>Managing issues and discussions <ul><li>Creating and organizing GitHub Issues with labels and milestones</li></ul></li><li>GitHub Codespaces overview</li><li>GitHub Actions overview <ul><li>Overview of GitHub Actions workflow syntax and events</li><li>Key use cases: Automating tests, builds, and deployments</li></ul></li><li>Creating and managing workflows <ul><li>Writing workflow YAML files for specific triggers (push, pull requests, etc.)</li><li>Managing workflow runs and viewing logs for debugging</li></ul></li><li>Managing GitHub secrets <ul><li>Adding and using secrets in workflows for secure credentials</li><li>Rotating and removing secrets when no longer needed</li></ul></li><li>Continuous Integration (CI) <ul><li>Setting up CI pipelines to automate testing</li></ul></li><li>Continuous Deployment (CD) <ul><li>Automating deployment pipelines to staging or production environments</li><li>Using GitHub Actions to manage multi-environment deployments</li></ul></li><li>GitHub Packages registry <ul><li>Publishing packages to GitHub Packages (npm, Docker, etc.)</li><li>Accessing and consuming packages in workflows or applications</li></ul></li><li>Caching and artifact management <ul><li>Configuring caching in workflows to speed up builds and tests</li></ul></li><li>Integration security and code quality tools</li><li>Monitoring and troubleshooting workflows</li><li>Conclusion</li></ul>