清除git里的敏感信息,个人密码

之前的爬虫里面加了个发送邮件提示,绑了自己的个人邮箱和密码,传到git好久才发现这个问题,但是如果手动删掉再发一个新的commit,历史版本里仍然还会有这些信息,所以想要一个办法清除所有commit里面的信息。
搜索了一下发现了一个工具。


BFG Repo-Cleaner

BFG Repo-Cleaner是一个专门用来清除git库里bad data的工具。
主要有两个功能

  • Removing Crazy Big Files //删掉某些文件
  • Removing Passwords, Credentials & other Private data //删除敏感信息

使用前注意本机需要安装java.

此外在执行之前先要提到一个我自己遇到的问题
来自pull request的commit是不能被修改的
因为通过pull得到的commit是只读的:

The refs beginning 'refs/pull' are synthetic read-only refs created by GitHub - you can't update (and therefore 'clean') them, because they reflect branches that may well actually come from other repositories - ones that submitted pull-requests to you.

如过你没有这个问题,那么我们继续方法如下:

  • 先到BFG主页点击页面右侧的下载按钮下载BFG的.jar 文件.
  • 为了方便起见创建一个新文件夹,把刚刚下载的.jar复制进去.
    如果你是为了删除个人密码之类的信息,则在同一个文件夹下建立txt文件,每一行输入一个你要删除的敏感信息
  • 打开git bash, 跳转到刚刚新建的文件夹,注意,语法为cd /c/project/
  • 复制你想要修改的库,键入:$ git clone --mirror https://github.com/user/repo.git 注意,这里若使用的是类似$ git clone --mirror git://example.com/some-big-repo.git的格式,在最后push的时候也会出现权限问题,因为也是只读的.
    参考1, 参考2

The problem is that URL like git://github.com/user/repo.git is read-only, SSH URL like git@github.com:user/repo.git and HTTPS URL like https://github.com/user/repo.git are writeable.

  • 接下来使用BFG删除txt文件里列出的敏感信息:$ java -jar bfg.jar --replace-text password.txt my_repo到这一步的时候所有的历史记录就应该被更新了
  • 之后请进执行这段我也不知道是干什么但貌似是物理上清理掉刚刚被在记录里更新掉但其实仍然可见的敏感信息的代码
$ cd my_repo.git
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive
  • 最后,$ git push,如果此处遇到了fatal: remote error:,则是上面提到的在复制时出现的问题,请执行$ git remote set-url origin <在这里改成HTTP开头的URL>来解决.

注意,如果你跟我一样,repo里包含来自pull request的commit,那这些commit会被denied掉:
! [remote rejected] refs#11/head -> refs#11/head (deny updating a hidden ref)
目前没找到解决办法,删库重建吧 TAT

额外参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容