I want to rollback to a commit using git revert so I can preserve the history. Is there an easier way to do this then to run git revert for every commit hash I want to reve
IMHO the most natural approach is to do (assuming you have a clean working copy):
git reset --hard $lastnicecommit;
git merge -s ours @{1}
and then git commit --amend to add some description. (On newer versions of git git-merge already lets you specify a description.)
(@{1} is just referring to the commit your branch pointed to before the reset.)
This makes a fast-forward change and so documents the history completely. Still the changes introduced in the commits since $lastnicecommit don't introduce any changes.