The following are a list of suggested practices for collaborative coding through Git + GitHub.
Put all code in branches. Branches are a non-destructive, "it doesn't really matter what you do in here," "completely isolated from everyone else's code" way to contribute changes to a project. Once your code on a branch "works," we can consider merging into main (formerly master) via pull requests as described in the next step.
Open pull requests to merge code into main. Ultimately, we want our "Definitely Works + Has Been Reviewed/Approved By Others + Can Be Considered Correct and Basically Forgotten About" code in the main branch. The pull request (PR) feature is an interface on which to collaboratively review, discuss, and iterate on code changes (w.r.t. the branch into which you're merging, often main). These changes are colloquially referred to as the "diff." On GitHub, this "diff" appears in nice green (for code you've added) and red (for code you've deleted) lines.
Keep pull requests relatively small. <= ~100 lines of "diff" is ideal. In simple terms, the smaller the diff, the easier it is to review.
Always request a "reviewer" for your code. While this "locally" slows us down, it often "globally" speeds us up, by reducing the number of bugs that a "fresh set of eyes" can help to catch.