«

清空Github上某个文件的历史

时间:2016-4-5 12:08     作者:admin     分类: 代码人生


今天在Github更新代码的时候,不小心把Gmail私钥文件更新上去了。即便我立刻删除了这个文件,可是在版本历史里面仍然可以看到这个文件的内容。这可把我吓坏了。

Google一圈以后,终于找到了解决办法。把某个文件的历史版本全部清空。

首先cd 进入项目文件夹下,然后执行以下代码:

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch 文件名' --prune-empty --tag-name-filter cat -- --all

git push origin master --force

rm -rf .git/refs/original/

git reflog expire --expire=now --all

git gc --prune=now

git gc --aggressive --prune=now

虽然不知道他们的作用是什么,不过真的解决了我的问题。看起来,以前我说我熟练掌握git,真是自不量力。

另外还找到了另一个方法:

git filter-branch -f --tree-filter rm -rf vendor/gems HEAD
git push origin --force

文/青南(简书作者)
原文链接:http://www.jianshu.com/p/573c1d2fe9fd

标签: 代码 分享 github git

版权所有:Mrxn's Blog
文章标题:清空Github上某个文件的历史
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读

推荐阅读: