It's a tiny petty thing but I finally looked up how to get Git to check out any branch (including 'main') as of some commit, instead of the current latest commit. git checkout -B <branch> <commit/tag/etc>
Unlike a detached HEAD checkout, this still lets you do 'git pull' or equivalents to later bring yourself up to the head of the branch (and you can diff between it and the upstream head and etc etc). It's especially handy for projects that tag releases on their main branch.