清空Github上某个文件的历史

2016-4-5 / 0 评论 代码人生 / Mrxn

本文共计 569 字,感谢您的耐心浏览与评论.

今天在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

转载:转载请注明原文链接 - 清空Github上某个文件的历史


0条回应:“清空Github上某个文件的历史”


发表评论

{view_code_no}