不管是使用git reset --hard或者git reset --soft都不能将git仓库中的历史删除掉。目前我只知道用git filter-branch来过滤某个文件的历史,对于彻底删除某个commit还没有做过,也不知道怎么做?

    据我了解,任何配置管理工具,只要你check in了,相应的提交就存在了,即使你采用删除等等操作,也只是check in了一个新的不含原来内容的提交,之前的提交并没有删除。

    所以,git reset 之后,只是在当前git log中找不到原来HEAD的sha-1值了,可以使用git log --all查看,另外,也可以使用git reflog查看之前的HEAD,看看能否找到你需要的commit。