html
php
iphone
ajax
linux
android
mysql
visual-studio
multithreading
silverlight
html5
json
facebook
tsql
delphi
apache
mvc
asp
jsp
postgresql
You can rebase the whole show down into a single commit.
Something like
git rebase -i [some early commit]
and then using visual block mode in vim to squash nearly all of them would be easiest, followed by an fsck and gc run.
fsck
gc
Alternately, you can use git filter-branch to remove the commits from the tree entirely.
git filter-branch
This is one (other) way:
git fast-export master~5..master | (cd ../newrepo.git && git init . && git fast-import && git checkout)
The above example will take commits in range master~5..master and create new repo out of that. You can use the same repo too, but the above will be safer.
master~5..master