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
- Create a
gitrepository in GitHub. - Create a
gitrepository using the command-line. - Set up SSH key authentication to GitHub
- Clone a GitHub repository to your local computer.
- Perform simple
git add/commit/push/pulloperations. - Display
gitstatus at any time in your repository.
Advanced Beginner
- List the branches in your local repository.
- Create and switch to a new branch in your local repository.
- Make changes then add/commit/push the new branch back to GitHub.
- Merge a branch into
main. - Delete a local branch.
- Display the
git logfor your repository. - Use
git diffto inspect changes made to a file.
Competent
- Fork a repository that you do not own.
- Clone the fork you just created.
- Configure an
upstreamremote so that you can synchronize your fork with any changes in the original repo. - Fetch and merge from
upstream. - Be familiar with how to smooth out a simple (1 file) MERGE conflict.
- Know how to pull in a file from another branch into your current branch.
Proficient
- Use
git stashproperly to save state without committing. - Restore a stash to resume working.
- Tag a commit and push it to GitHub.
- List all tags for a repository.
- Move the repository back one commit.
- Change the name of a repository in GitHub and manually update the address in
.git/config. - Submit a Pull Request so that your changes can be merged upstream into the original repository.
Expert
- Create a
git aliasby editing~/.gitconfig - Set up a GitHub Action to automatically build or test your software.
- Customize this Action so that it only runs on a specific branch, or only if it contains a tag.
- Work with repository or GitHub Organization secrets to pass sensitive information into Actions.
- Understand the difference between
rebase,reset, andrevert. - Create a
releasein GitHub. - Set up Actions to respond to Issue types in GitHub.
- Understand
submoduleingit.
Jedi
No Instructions Given - you’re on your own!
- Install the
ghCLI and open or close an Issue with is. - Create a GitHub Action that relies on a “remote dispatch” call to another repository.
- Write a script that both creates a repository in GH and clones it to your local machine.
- Use the GitHub API to grant access to another user for one of your repositories.
- Create a GitHub Pages site and publish your own GH site. (Hint: this site runs that way!)
- Create a Pull Request template for a repo, which asks for specific information from anyone submitting a PR.