EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Github

Course outline

1 day

Duration

Github

1 day

Session 1: Introduction to Version Control

  • The role of version control in software development.
  • Benefits of using Git for version control.
  • Overview of distributed version control systems.

Session 2: Git Fundamentals

  • Setting up Git on your local machine.
  • Configuring Git settings.
  • Initialising a Git repository.

Session 3: Git Basics

  • Staging changes and creating commits.
  • Viewing commit history and differences.
  • Undoing changes with Git.

Session 4: Working with Branches

  • Understanding branches in Git.
  • Creating and switching between branches.
  • Merging branches and resolving conflicts.

Session 5: Collaborative Workflows

  • Cloning remote repositories.
  • Pushing and pulling changes.
  • Collaborating with others on Git projects.

Session 6: Git Tags and Releases

  • Tagging commits for version releases.
  • Managing and listing tags in Git.

Session 7: Git Best Practices

  • Commit message conventions and readability.
  • Branch naming conventions.
  • Keeping repositories clean and organised.

Session 8: Resolving Merge Conflicts

  • Understanding merge conflicts.
  • Strategies for resolving conflicts.
  • Manual conflict resolution.

Session 9: Git Hooks (Brief Overview)

  • Introduction to Git hooks.
  • Pre-commit and post-commit hooks.

Session 10: Practical Git Exercises

  • Hands-on coding exercises to reinforce Git concepts.
  • Collaborative workflows, branching, merging, and conflict resolution.

Session 11: Git and CI/CD (Brief Overview)

  • Git's role in Continuous Integration and Continuous Deployment.
  • Integrating Git with CI/CD pipelines.

GITHUB

Session 1: Introduction to GitHub

  • Overview of GitHub and its role in software development.
  • Benefits of using GitHub for version control and collaboration.
  • Setting up a GitHub account.

Session 2: Navigating GitHub

  • Tour of the GitHub dashboard and user interface.
  • Exploring repositories, profiles, and organisations.
  • Understanding GitHub's terminology (fork, clone, commit, pull request).

Session 3: Creating and Managing Repositories

  • Creating a new GitHub repository.
  • Configuring repository settings and options.
  • Adding collaborators and permissions.

Session 4: Git and GitHub Integration

  • Linking local Git repositories to GitHub.
  • Pushing code to GitHub.
  • Viewing commit history and differences on GitHub.

Session 5: Branching and Pull Requests

  • Working with branches in GitHub.
  • Creating and managing pull requests (PRs).
  • Reviewing and merging PRs.

Session 6: Code Review and Collaboration

  • Using GitHub's code review tools.
  • Commenting on code and providing feedback.
  • Collaborative workflows in GitHub.

Session 7: Releases and Versioning

  • Creating and managing releases on GitHub.
  • Publishing releases and changelogs.
  • Using GitHub Actions for automated releases.

Session 8: GitHub Automation with Actions

  • Introduction to GitHub Actions.
  • Creating custom workflows with Actions.
  • Automating repetitive tasks (e.g., testing, deployment).

Session 9: Issue Tracking and Projects

  • Creating and managing issues and projects.
  • Using labels, milestones, and project boards.
  • Agile project management with GitHub.

Session 10: GitHub Security and Best Practices

  • Security features in GitHub.
  • Implementing code scanning and vulnerability alerts.
  • Best practices for repository organization and documentation.

Session 11: Integrations and Ecosystem

  • Third-party integrations and tools that enhance GitHub.
  • GitHub Apps and GitHub Marketplace.
  • Extending GitHub's functionality.

Session 12: GitHub Enterprise (Brief Overview)

  • Introduction to GitHub Enterprise for on-premises solutions.
  • Deployment and management considerations.

Programme scope, delivery arrangements and suitability are confirmed during enquiry.