@b0rk

Usually squash and merge: when bisect points at a squashed commit or a merge commit one gets much less information (so merge is somewhat better than squash, because you _might_ get a commit on the merged-in branch as a result).

Rebase is much better, _as long as the project wants all commits on the main branch to actually build. If that's not the case, it's the worst (but then the notion of a commit as a version of the software is very degenerated anyway).