Stage 6 of 8 · 8 lessons · ~2 weeks
GitHub and working with others
Connect local repositories to GitHub with SSH keys, and work the way teams do: branches, pull requests, reviews, keeping forks up to date and the GitHub CLI.
Start: Remotes: clone, fetch, pull and pushLessons· one lesson for each topic, in this order
Do this
- Create an ed25519 SSH key with a passphrase, add it to GitHub and test with `ssh -T git@github.com`.
- Turn on two-factor authentication for your GitHub account.
- Push a project and open a pull request with a proper description, then merge it.
- Install `gh`, log in and open a pull request from the terminal.
- Fork a project, add `upstream`, sync it and open a small pull request.
- Review a classmate's pull request with at least three constructive comments.
- Delete merged branches locally and on GitHub.
Start with· follow one of these
- BookFreePro Git
Scott Chacon and Ben Straub
Chapter 6 covers GitHub itself: forks, pull requests and maintaining a project
- GuideFreeContributing to a Project (GitHub Docs)
GitHub · Beginner
GitHub's own walkthrough of the fork, branch and pull request workflow
Practise
Keep handy
Also worth your time
A widely used commit message convention you will meet in many repositories
- roadmap.sh: Git and GitHubGo deeper
The GitHub half of the map: Actions, projects, security features and more
Before moving on: Two merged pull requests: one to a repository of your own using GitHub flow with a written description and a self-review, and one to someone else's project from a fork (documentation fixes count), both opened or checked with the GitHub CLI.

Your pull requests are part of your portfolio, so write them like a colleague will read them. Small, clear pull requests get merged; huge ones get ignored. Review other people's work too: reading code with a question in mind teaches you more than writing it alone.