Git and GitHub Training

Welcome to the Git and GitHub training session! This README provides an agenda and knowledge check questions to guide our learning experience.

Agenda

1. Introduction to GitHub

  • Overview of GitHub
  • GitHub administrators
  • Authenticate and authorize user identities on GitHub

2. GitHub Repositories

  • Branches:
  • Issues
  • Pull Requests (PR) / Merge Requests (MR)
  • GitHub Actions
  • Security
  • Insights
  • Settings
  • Stars
  • Fork
  • Wiki
  • GitHub Pages

3. Additional GitHub Features

  • GitHub Projects
  • GitHub Packages
  • GitHub Stars
  • GitHub Gist
  • GitHub Copilot

Knowledge Check Questions

Introduction to Version Control Systems

  1. What is a version control system, and why is it important in software development?
  2. What are the main differences between centralized and distributed version control systems?

Introduction to Git

  1. What are some key features and advantages of using Git?
  2. How do you configure your username and email in Git?

Basic Git Commands

  1. How do you initialize a new Git repository?
  2. What command would you use to clone a repository?
  3. How do you check the status of your working directory in Git?
  4. Explain the purpose of the git add and git commit commands.
  5. How can you view the commit history of a repository?
  6. How do you create and switch to a new branch in Git?

Introduction to GitHub

  1. What is GitHub, and what are its key features?
  2. How do you create a new repository on GitHub?
  3. What is the purpose of configuring SSH keys for GitHub?

Working with GitHub

  1. How do you create a branch in a GitHub repository?
  2. How can you restrict the deletion or renaming of branches on GitHub?
  3. Explain the workflow for creating and reviewing a pull request on GitHub.
  4. What are GitHub Actions, and how can they be used in a repository?
  5. How do you manage security settings for a GitHub repository?
  6. What insights can be gained from the 'Insights' tab of a GitHub repository?
  7. What is the purpose of starring a repository on GitHub?
  8. What does forking a repository allow you to do?

Additional GitHub Features

  1. What are GitHub Projects, and how can they be used for task management?
  2. How can GitHub Packages be beneficial in a development workflow?
  3. What is a GitHub Gist, and how is it used?
  4. What is GitHub Copilot, and how does it assist developers?

Practical Exercise

  1. Describe the basic steps to initialize a repository, add a file, and commit changes.
  2. How do you push local changes to a remote repository on GitHub?

General

  1. What is the difference between a pull request (PR) and a merge request (MR)?
  2. Explain the concept of 'forking' a repository and why it is useful in open source development.
  3. What are some best practices for writing commit messages?

Other Resources