After some trial and error, here’s how I check out Github pull requests to a local branch with tracking.
Edit .git/config, add the following line in the section for the desired remote.
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*Ensure to add it before the existing line for remote branches, e.g.
[remote "origin"]
  url = git@github.com:user/repo
  fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
  fetch = +refs/heads/*:refs/remotes/origin/*
Run git fetch and see all the new remote “branches” appear.
Now you can check out a PR branch: git checkout pr/123
Even better, you can create a worktree for each PR you want to review:
git worktree add pr-123 pr/123
cd pr-123
# review review review
cd ..
git worktree remove pr-123This also allows you to track the remote ref, so if the PR receives additional commits you can just pull them down.
