Git 彻底删除文件

一般 git 删除文件使用 git rm 就可以了,但是有时候某些文件你甚至不想让它出现在 gitlog中。

github一篇文章详细说明了如何操作,经过尝试是可以成功将文件彻底删除,在 log 中都找不到。

比如删除根目录下的 file 文件夹彻底删除:

git filter-branch --force --index-filter \
  'git rm -rf -r --cached --ignore-unmatch file' \
  --prune-empty --tag-name-filter cat -- --all

然后:

git push origin master --force

这样 git 仓库中这个文件夹就被彻底删除了。

如果你还想清除本地的一些缓存,可以依次进行下面几部操作

rm -rf .git/refs/original/`

git reflog expire --expire=now --all

git gc --prune=now

git gc --aggressive --prune=now

上一篇
Siege Siege
siege 围攻是一个压力测试和评测工具,设计用于 web 开发这评估应用在压力下的承受能力。 可以模拟对一个 web 站点进行多用户的并发访问,记录每个用户所有请求过程的响应时间,并在一定数量的并发访问下重复进行。 在 Mac OS X
2013-08-27
下一篇
PHP 神奇的分号 PHP 神奇的分号
今天在开发过程中,遇到两种分号的神奇问题,特此记录。 <?php echo '我是正常的分号'; echo '我是神奇的分号'; ?> 用肉眼无法分辨两种分号的区别,如果你使用 win 平台,上面两条语句都可以运行。但是如果你是 u
2013-03-01