GitHub

This page provides an overview of different techniques and skill levels related to GitHub, including basic, intermediate, and advanced techniques.

Basic

These are the basic skills, helpful even for beginning courses and activities.

Intermediate

These would be considered intermediate skills, applied in higher-level courses and activities.

Advanced

These are advanced skills, useful for more experienced users and advanced projects.

Subsections of GitHub

Basics

The following GitHub skills and techniques may be considered basic level.

Basic GitHub

[ ] Creating and cloning repositories: Know how to create new repositories on GitHub and how to clone existing repositories to your local machine so that you can work on them.

[ ] Adding and committing changes: Know how to add changes to your local repository and commit them so that they are saved to your repository’s history.

[ ] Pushing and pulling changes: Know how to push your local changes to your GitHub repository so that others can see them, and how to pull changes from the remote repository to your local machine to get the latest changes.

Intermediate

The following GitHub skills and techniques may be considered intermediate level.

Intermediate GitHub

[ ] Working with branches: Know how to create and switch between branches, and how to merge changes between branches.

[ ] Using issues and pull requests: Know how to create and manage issues and pull requests, which are useful for tracking tasks, discussing changes, and requesting code reviews.

[ ] Collaboration: Know how to work collaboratively with others on a project using Git, including resolving merge conflicts and managing team workflows.

[ ] Rebasing: Know how to use the git rebase command to reapply changes from one branch onto another and resolve conflicts.

Advanced

The following GitHub skills and techniques may be considered advanced level.

Advanced GitHub

[ ] Git hooks: Know how to write and use Git hooks to automate tasks and enforce standards.

[ ] Git workflows: Know how to use Git workflows like GitFlow or GitHub Flow to manage complex projects and team collaboration.

[ ] Advanced Git commands: Be familiar with advanced Git commands like git cherry-pick, git bisect, and git stash.

[ ] Git submodules: Know how to use Git submodules to include and manage external dependencies in your projects.

[ ] Git LFS: Know how to use Git LFS (Large File Storage) to manage large binary files in your repositories.

[ ] CI/CD: Know how to integrate Git with Continuous Integration/Continuous Deployment (CI/CD) tools to automate testing, building, and deployment of your projects.