I have read this post: http://jenkins-ci.org/content/summary-report-git-repository-disruption-incident-nov-10th
which describes an incident where a user accidentally
Git does delete things eventually. It auto garbage collects every "5000 objects." I am not sure if that means 5000 commits or if it refers to something else. There are ways of undoing things, although when a person force pushes from an old version of a repo can being annoying. Depending on if you delete the bad push or revert there will be garbage in your git history, but git does eventually clean up.