Git

This page provides an overview of different techniques and skill levels related to Git, 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 Git

Basics

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

Basic Git

  • Creating and cloning repositories: Know how to create new repositories on Git 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 Git 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 Git

  • Resolving merge conflicts: Learn how to handle conflicts that arise when merging branches or changes from multiple contributors.

  • Creating and managing branches: Know how to create and switch between branches, and how to merge changes between branches.

  • Using Git tags: Learn how to use Git tags to mark important points in your repository’s history, such as release versions or major milestones.

  • Reverting and resetting changes: Know how to revert changes to a previous commit, or reset your repository to a specific point in its history.

  • Understanding Git workflows: Gain a deeper understanding of Git workflows, such as Gitflow or GitHub flow, to better manage changes and collaboration in your projects.

  • Working with remote repositories: Know how to add and remove remote repositories, and how to push and pull changes between them and your local repository.

Advanced

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

Advanced Git

  • Rebasing: Know how to rebase a branch to update it with changes from another branch, while maintaining a clean history.

  • Cherry-picking: Know how to apply specific changes from one branch to another, without merging the entire branch.

  • Squashing commits: Know how to combine multiple commits into a single commit, to create a more coherent commit history.

  • Stashing: Know how to temporarily save changes that are not yet ready to be committed, so that you can work on other tasks without losing your progress.

  • Git hooks: Know how to create custom scripts that are automatically run by Git at specific times, such as before a commit or push.

  • Git submodules: Know how to use Git submodules to include one repository as a subdirectory of another repository, to better manage complex projects.

  • Git bisect: Know how to use Git bisect to find the commit that introduced a bug, by systematically testing different commits until the bug is found.