清理 github 敏感信息

有的时候我们在提交到github上的内容不小心含有敏感代码,比如密码,公司的服务器IP等。这个时候就要通过一些手段清除这些信息。

GitHub官方方案比较码放,所以推荐使用 BFG Repo-Cleaner ,更加简单、易操作,但它可以修改所有的提交记录,也要小心使用。

下面通过例子演示如何清理敏感信息

背景

仓库名:Space

泄露信息的文件的文本内容

conf={
'password': '1234567'
'SCKEY': '3.141592653'
}

目标:需要将 1234567 和 3.141592653 清除

准备工作

  1. 下载好BFG工具后重命名为 bfg.jar

  2. 打开本地仓库的父级文件夹,并将 bfg.jar 到文件夹中

  3. 创建 passwords.txt 文件,将需要抹除的信息填入,一条信息一行。本例中填:

    1234567
    3.141592653

清除步骤

  1. 在父级文件夹唤起 cmd 输入命令: java -jar bfg.jar --replace-text passwords.txt Space
  2. 在仓库的文件夹唤起 cmd 输入命令:git reflog expire --expire=now --all && git gc --prune=now --aggressive
  3. 强力更新到仓库:git push -f <origin> <master>

结果

conf={
'password': ''
'SCKEY': ''
}

清除 GitHub 历史记录的隐私信息的更多相关文章

  1. 使用pdfFactory隐藏文档中的隐私信息

    分享PDF文档时,文档中可能会存在一些隐私信息,比如用户名.用户的邮件地址.电话号码等信息.为了更好地保护原有文档内容的完整性,大家可以在生成PDF时,使用pdfFactory的隐藏信息功能,删除或遮 ...

  2. Linux清除磁盘上的RAID信息

    我的笔记本是DELL的Inspiron 14z,原装存储器是由32G的固态硬盘和512G的机器硬盘组成.后来我自己又给它加了一个256G的固态硬盘,装并装上了CentOS,打算把500G的机械硬盘当资 ...

  3. 清除目录下的SVN信息

    今天需要迁移一个版本库中的子目录到新的版本库中,以为不需要保留日志信息,所以只需拿最新的代码提交就可以. 对于清除目录下的SVN信息,在网上找一些方法,并实践执行了下: 在linux下 删除这些目录是 ...

  4. C#隐私信息(银行账户,身份证号码,名字)中间部分特殊字符替换(*)

    最近做到一个关于银行的一个功能模块,需要将隐私信息银行账号中间部分用*代替,于是写下了,如下代码: /// <summary> /// 将传入的字符串中间部分字符替换成特殊字符 /// & ...

  5. Git中清除远程仓库HTTPS认证信息的方法

    Git远程仓库同步时用户认证有两种方式:HTTPS.SSH,对应的Git仓库上有两个不同的链接地址. https方式使用账号和密码授权,简单易用,便于进行权限细分管理,而且防火墙一般会打开 http ...

  6. github私有库购买信息

    github私有库购买信息      一年84美元. 换算成人民币是:532元.   话说其他开发者都买了么?    

  7. git 清除所有历史记录

    有些时候,git 仓库累积了太多无用的历史更改,导致 clone 文件过大.如果确定历史更改没有意义,可以采用下述方法清空历史, 1) 先 clone 项目到本地目录 (以名为 mylearning ...

  8. 隐匿在iOS文件系统中的隐私信息

    说明: . 本文仅供安全学习及教学用途,提及的部分技术带有攻击性,请确保合法使用. . “这些都不是我干的,我就负责说出来.” . 图片仅供参考. . 本文所讨论的内容适用于iOS .4环境,其应用程 ...

  9. 快速清除文件夹svn版本控制信息

    将下面内容另存为clear.bat文件,在有版本控制的目录执行即可 @echo On @Rem 清除SVN版本控制信息 @for /r . %%a in (.) do @if exist " ...

随机推荐

  1. java——封装

    java--封装 java--封装1 封装的理解和好处2 封装的事项实现步骤3 将构造器和setXx结合4 this和super区分 1 封装的理解和好处 隐藏实现细节:[方法(连接数据库)<- ...

  2. Java报错:Unable to find setter method for attribute: [x]

    在学习JavaWeb JSTL与自定义标签时遇到的坑,用的老师给的代码结果直接原地报错:javax.servlet.ServletException: org.apache.jasper.Jasper ...

  3. numpy---(精简)

    numpy get started 导入numpy库, 并查看版本 import numpy as np np.__version__ '1.14.3' # pyplot显示画图, 数据分析与可视化 ...

  4. nmtui 工具使用的话,需要开启NetworkManager(网卡文件不存在ens192)

    环境采样: [root@k3master network-scripts]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) ...

  5. springboot打包时候忽略编译测试类

    方法1.可以在依赖中加入插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId ...

  6. 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)

    本文目录: 一.数据流向 二.应用示例 三.何为数仓DW 四.为何要分层 五.数据分层 六.数据集市 七.问题总结 导读 数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需 ...

  7. vue中父子组件钩子的执行顺序

    我们已经非常熟悉单个的vue组件的生命周期执行顺序了,但是,如果有嵌套组件,父子组件的生命周期的执行顺序是什么? 当父子组件在加载的时候,执行的先后顺序为 父beforeCreate -> 父c ...

  8. cnvd进阶学习

    说明 cnvd相对在src漏洞平台中还是比较具备含金量的.今天证书的申请标准就不说了,总归网上都有,主要是想分享下怎么去挖漏洞. 咱们这里只讲通用型漏洞,事件型的暂时我也没挖到.挖通用型漏洞主要方法就 ...

  9. 微信小程序订阅消息

    概述 消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验. 订阅消息推送位置:服务通知 订阅消息下发条件:用户自主订阅 订阅消息卡片跳转能力:点击查看详情 ...

  10. 龙智被评估为CMMI [3] 级

    2022年3月,龙智宣布已被评估为CMMI研究所的能力成熟度模型集成(CMMI)的 [3] 级. CMMI 是一个能力改进框架,它为组织提供有效流程的基本要素,最终提高其绩效. 成熟度级别 3 的评估 ...