Skills Check

Table of contents

Test your grasp of git and GitHub by using the following checks. Each level assumes a grasp of all previous levels. How far can you get?

Novice

  1. Create a git repository in GitHub. [Review]
  2. Create a git repository using the command-line. [Review]
  3. Set up SSH key authentication to GitHub [Review]
  4. Clone a GitHub repository to your local computer. [Review]
  5. Perform simple git add / commit / push / pull operations. [Review]
  6. Display git status at any time in your repository. [Review]

Advanced Beginner

  1. List the branches in your local repository. [Review]
  2. Create and switch to a new branch in your local repository. [Review]
  3. Make changes then add/commit/push the new branch back to GitHub. [Review]
  4. Merge a branch into main. [Review]
  5. Delete a local branch. [Review]
  6. Display the git log for your repository. [Review]
  7. Use git diff to inspect changes made to a file. [Review]

Competent

  1. Fork a repository that you do not own. [Review]
  2. Clone the fork you just created. [Review]
  3. Configure an upstream remote so that you can synchronize your fork with any changes in the original repo. [Review]
  4. Fetch and merge from upstream. [Review]
  5. Be familiar with how to smooth out a simple (1 file) MERGE conflict. [Review]
  6. Know how to pull in a file from another branch into your current branch. [Review]

Proficient

  1. Use git stash properly to save state without committing. [Review]
  2. Restore a stash to resume working. [Review]
  3. Tag a commit and push it to GitHub. [Review]
  4. List all tags for a repository. [Review]
  5. Move the repository back one commit. [Review]
  6. Change the name of a repository in GitHub and manually update the address in .git/config. [Review]
  7. Submit a Pull Request so that your changes can be merged upstream into the original repository. [Review]

Expert

  1. Create a git alias by editing ~/.gitconfig [Review]
  2. Set up a GitHub Action to automatically build or test your software. [Review]
  3. Customize this Action so that it only runs on a specific branch, or only if it contains a tag. [Review]
  4. Work with repository or GitHub Organization secrets to pass sensitive information into Actions. [Review]
  5. Understand the difference between rebase, reset, and revert. [Review]
  6. Create a release in GitHub. [Review]
  7. Set up Actions to respond to Issue types in GitHub. [Review]
  8. Understand submodule in git. [Learn More]

Jedi

No Instructions Given - you’re on your own!

  1. Install the gh CLI and open or close an Issue with it.
  2. Create a GitHub Action that relies on a “remote dispatch” call to another repository.
  3. Write a script that both creates a repository in GH and clones it to your local machine.
  4. Use the GitHub API to grant access to another user for one of your repositories.
  5. Create a GitHub Pages site and publish your own GH site. (Hint: this site runs that way!)
  6. Create a Pull Request template for a repo, which asks for specific information from anyone submitting a PR.