I have a long messy git commit history. I would like to delete all commits between the head and head@{119}. I've tried rebase, but since a lot of the commits were little changes to the same few lines, I would be making probably 200 corrections. If squashing them is the proper route, then how can I make git automatically respect the most recent change? It's asking for me to fix conflicts, but shouldn't it be obvious that my most recent commit is the change I'd like to keep? How can I make git do that? And if squashing isn't the right route, can I just delete the commits between head and head@{119} (not including the commit the head is on now).

I'm not very good with Git, and I've researched quite a bit on Google and here on SO, but I'm not experienced enough with it to figure out how to apply those answers to my question. There are a few questions that are similar, but if someone could be a little more clear as to the application here it would be much appreciated. Thank you.