For most things (or, well, that depends on what one commits I guess), the filtered form will likely be the more preferable one. If you want to keep around some of the largely-useless stuff just in case, you can `git tag backup/sso-garbage` or similar before rebasing.
For fun, here's a git log pre-rebase of some backup tag I have (final commits: https://github.com/dzaima/CBQN/commits/eccbac37ab15bd68320d9...):
f6bc866f (tag: backup/pre-rebase-si-bitwiden) ..aarch64
0fd19c39 Singeli n→8 bitwiden
ed2a0655 more Singeli utils
556aa17b use q_fbit more
a28adcbb minor src/README.md cleanup
d6d40fc7 .warning comment
9dcf2f75 .don't need customizeShape for explicitly-created bitarr
958a04a1 update Singeli submodule
159ee16e ..
ea43cb2d .
b067d7a8 !!
c588a381 fix ⟨1‿2⟩⊸⊏˘ mat
0e251720 .
8f049ede fast inds⊸⊏˘bits for 4-bit & 2-bit input & output cells
def8c196 fast inds⊸⊏˘bits for 8-bit input & output cells
1638f8d4 .valgrind false-positive hiding
1023aaa5 --replxx-read-only
bee4169e .more valgrind improvement
c3643fc6 use custom valgrind pdep/pext everywhere
45796542 fix out-of-bounds load on empty replxx line
bc5894b9 make bitp_get & bitp_set load/store u8 instead of u64
3b4381b2 include last power of two in fast-path ⌽˘
Most of that didn't compile on aarch64 before that last commit, even changes that could affect aarch64 as I sprinkled in some other things while working on the "main" thing as they came up.