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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…