A simple solution I used:
-
Do
git reset HEAD^
for as many commits you want to undo, it will keep your changes and your actual state of your files, just flushing the commits of them. -
Once the commits are undone, you can then think about how to re-commit your files in a better way, e.g.: removing/ignoring the huge files and then adding what you want and then committing again. Or use Git LFS to track those huge files.
Edit: this answer is also acceptable if for instance your commits needed authentication (e.g.: username and email) and that you need to add the proper credentials after having commited. You can undo things the same way.
Question: would someone have a way to just cherrypick the commit that is bad and change it directly? I’m asking especially in the case of someone who would just need to re-authenthify his commits like in here, but in a case where the files needs not to be changed. Only commits to authentify.