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