I just learned git bisect from https://ohmygit.org/! You run it, then checkout other commits all over the project, and mark them with git bisect good or git bisect bad. Then it paints all commits that led to the good one as good, and all the ones after the bad one as bad, so you just keep narrowing your window by playing checkout Jezzball until there's only one commit left: the one that introduced the bad state.
Great cheat sheet, but has a really poor quality, even when I download it. It may be problem on my side. The original on mastonon has good image quality.
More like “don’t fuck around (but of course the answer is some subset of git checkout (which is probably Turing-fucking-complete)), and find out anyway”.
Squashing is easy too, though no, there isn't a "squash all" option, unless you're working in a feature branch and check out master and git merge --squash branch: https://graphite.dev/guides/git-merge-squash
I'm sure there's a way to commit to another branch without having it checked out, but that just sounds like a recipe for trouble.
And I have no idea how you'd manage to not have different ssh keys per user. You shouldn't be reusing keys across accounts to begin with.