Great question; in addition to the pedagogical issues that the other replies speak to, there’s some simple choices in the mechanics of exactly how you introduce pull requests.
- Have students create a fork, make edits, and send a pull request for a repository where they do not have commit rights. (e.g. if you are using Classroom without team-based repos)
- Have students on the same team (i.e. both have commit rights to the team repo) create a branch within the repo, push the branch to github, and create a PR
I think the former is conceptually easier to introduce, since the purpose of having a way to suggest edits to a project where you don’t have commit rights is more self-evident than the purpose(s) of having branches within a project.
It is also worth noting that maybe either of these approaches would be easiest to introduce with the (relatively new) inline editing of a file on GitHub that allows you to create a PR for edits to a single file without creating an actual fork or local branch.