清空Github上某个文件的历史 代码人生
今天在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
原文链接:http://www.jianshu.com/p/573c1d2fe9fd