清除 GitHub 历史记录的隐私信息
清理 github 敏感信息
有的时候我们在提交到github上的内容不小心含有敏感代码,比如密码,公司的服务器IP等。这个时候就要通过一些手段清除这些信息。
GitHub官方方案比较码放,所以推荐使用 BFG Repo-Cleaner ,更加简单、易操作,但它可以修改所有的提交记录,也要小心使用。
下面通过例子演示如何清理敏感信息
背景
仓库名:Space
泄露信息的文件的文本内容
conf={
'password': '1234567'
'SCKEY': '3.141592653'
}
目标:需要将 1234567 和 3.141592653 清除
准备工作
下载好BFG工具后重命名为 bfg.jar
打开本地仓库的父级文件夹,并将 bfg.jar 到文件夹中
创建
passwords.txt文件,将需要抹除的信息填入,一条信息一行。本例中填:1234567
3.141592653
清除步骤
- 在父级文件夹唤起 cmd 输入命令:
java -jar bfg.jar --replace-text passwords.txt Space - 在仓库的文件夹唤起 cmd 输入命令:
git reflog expire --expire=now --all && git gc --prune=now --aggressive - 强力更新到仓库:
git push -f <origin> <master>
结果
conf={
'password': ''
'SCKEY': ''
}
清除 GitHub 历史记录的隐私信息的更多相关文章
- 使用pdfFactory隐藏文档中的隐私信息
分享PDF文档时,文档中可能会存在一些隐私信息,比如用户名.用户的邮件地址.电话号码等信息.为了更好地保护原有文档内容的完整性,大家可以在生成PDF时,使用pdfFactory的隐藏信息功能,删除或遮 ...
- Linux清除磁盘上的RAID信息
我的笔记本是DELL的Inspiron 14z,原装存储器是由32G的固态硬盘和512G的机器硬盘组成.后来我自己又给它加了一个256G的固态硬盘,装并装上了CentOS,打算把500G的机械硬盘当资 ...
- 清除目录下的SVN信息
今天需要迁移一个版本库中的子目录到新的版本库中,以为不需要保留日志信息,所以只需拿最新的代码提交就可以. 对于清除目录下的SVN信息,在网上找一些方法,并实践执行了下: 在linux下 删除这些目录是 ...
- C#隐私信息(银行账户,身份证号码,名字)中间部分特殊字符替换(*)
最近做到一个关于银行的一个功能模块,需要将隐私信息银行账号中间部分用*代替,于是写下了,如下代码: /// <summary> /// 将传入的字符串中间部分字符替换成特殊字符 /// & ...
- Git中清除远程仓库HTTPS认证信息的方法
Git远程仓库同步时用户认证有两种方式:HTTPS.SSH,对应的Git仓库上有两个不同的链接地址. https方式使用账号和密码授权,简单易用,便于进行权限细分管理,而且防火墙一般会打开 http ...
- github私有库购买信息
github私有库购买信息 一年84美元. 换算成人民币是:532元. 话说其他开发者都买了么?
- git 清除所有历史记录
有些时候,git 仓库累积了太多无用的历史更改,导致 clone 文件过大.如果确定历史更改没有意义,可以采用下述方法清空历史, 1) 先 clone 项目到本地目录 (以名为 mylearning ...
- 隐匿在iOS文件系统中的隐私信息
说明: . 本文仅供安全学习及教学用途,提及的部分技术带有攻击性,请确保合法使用. . “这些都不是我干的,我就负责说出来.” . 图片仅供参考. . 本文所讨论的内容适用于iOS .4环境,其应用程 ...
- 快速清除文件夹svn版本控制信息
将下面内容另存为clear.bat文件,在有版本控制的目录执行即可 @echo On @Rem 清除SVN版本控制信息 @for /r . %%a in (.) do @if exist " ...
随机推荐
- BlockingCollection实现生产者消费者
很简单的代码,看注释 class Program { private static ManualResetEvent _manualResetEvent = new ManualResetEvent( ...
- Java基础之浅谈接口
前言 前几篇文章我们已经把Java的封装.继承.多态学习完了,现在我们开始比较便于我们实际操作的学习,虽然它也是Java基础部分,但是其实入门容易,精通很难. 我认真的给大家整理了一下这些必须学会.了 ...
- Python入门-运算符
运算通常可以根据最终获得的值不同,可以分两类,即结果为具体的值,结果为bool值,那么哪些结果为具体的值-->算数运算.赋值运算,哪些结果又为bool值?--->比较运算.逻辑运算和成员运 ...
- SSM实现个人博客-day03
项目源码免费下载:SSM实现个人博客 有问题请循环vx:kht808 3.相关包与实体类的创建 1.包名与路径如下: 2.实体类的编写 Blog类 public class Blog implemen ...
- mysql server_id的用途(主从等结构中)
前言 我们都知道MySQL用server-id来唯一的标识某个数据库实例,并在链式或双主复制结构中用它来避免sql语句的无限循环.5.7需要同时设置server_id参数,8.0开始server_id ...
- 地铁系统ajax人性化操作
根据选择的城市不同,显示的地铁系统和线路图也不同
- 20202127 实验一《Python程序设计》实验报告
20202127 2022-2022-2 <Python程序设计>实验一报告课程:<Python程序设计>班级: 2021姓名: 马艺洲学号:20202127实验教师:王志强实 ...
- 【Azure Developer】使用 CURL 获取 Key Vault 中 Secrets 中的值
问题描述 在使用CURL通过REST API获取Azure Key Vaualt的Secrets值,提示Missing Token, 问如何来生成正确的Token呢? # curl 命令 curl - ...
- 前后端分离后台管理系统 Gfast v3.0 全新发布
GFast V3.0 平台简介 基于全新Go Frame 2.0+Vue3+Element Plus开发的全栈前后端分离的管理系统 前端采用vue-next-admin .Vue.Element UI ...
- Dockerfile 中对常用命令详解
说明 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 在Dockerfile 中命令书写对先后顺序及表示其执行对顺序,在书写时需注意. 约定 命令不 ...