git项目数据批量脱敏

认证侠
• 阅读 2742

背景

这是个尴尬的背景

鉴于项目的与业务不耦合,于是决定将项目放到github上。只是项目里有些测试,比较敏感,需要进行脱敏。
经过一阵修改后,把敏感数据都修改了,提交。然后项目迁移外网,还用上了git push --mirror想把tags什么都,也同步过去。

提交记录同步过去后,才发现,可以在提交记录里看到敏感数据的历史记录。这,着实尴尬~

理一理我的需求:

  1. 要同步提交记录到github
  2. 要进行敏感数据脱敏

所以,要把提交记录里,所有的敏感数据都处理掉!


通过github官网文档,发现官方有提供相关的处理方式。

BFG

BFG 是一个简单且快速的,可以替代git-filter-branch的清除git仓库历史数据的工具。

  1. 清除大文件
  2. 清除密码、证书或其它隐私数据

动手

材料:

  1. 下载bfg包
  2. 一个替换规则的文件,如:replacements.txt,文件里写好替换的规则

如:

PASSWORD1                       # Replace literal string 'PASSWORD1' with '***REMOVED***' (default)
PASSWORD2==>examplePass         # replace with 'examplePass' instead
PASSWORD3==>                    # replace with the empty string
regex:password=\w+==>password=  # Replace, using a regex
regex:\r(\n)==>$1               # Replace Windows newlines with Unix newlines  
git clone --mirror https://git.XXXX.com/XXX/XX.git
java -jar C:\Users\YY\Downloads\bfg-1.13.2.jar --replace-text replacements.txt ui.git

git项目数据批量脱敏

git项目数据批量脱敏

cd XX.git

git push --mirror https://git.XXXX.com/XXX/XX.git

记得,推的时候,需要把相关的分支都取消保护

git项目数据批量脱敏

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
springcloud使用之断路器hystrix
上一篇文章提到我们最近开了个新项目,目的是将新的业务放到新项目中,老项目单独维护,再逐步迁移老项目到新项目里。但就在前端时间生产环境发生了一个事故,事故开始的异常是我们的业务发现前端h5页面办理很慢,这台服务器跑了三个省的办理业务,同事在寻找问题的时候一口老血差点吐出来,所有的项目日志打在一个文件里,里面乱的程度无法用语言形容,因为太忙了的原因,这个事情被
拥抱下一代前端工具链-Vue老项目迁移Vite探索
随着项目的不断维护,代码越来越多,项目越来越大,决定将老项目迁移至vite。本文介绍了Vue老项目像Vite迁移的过程、遇到的问题以及经验总结。
利用Jackson序列化实现数据脱敏
在项目中有些敏感信息不能直接展示,比如客户手机号、身份证、车牌号等信息,展示时均需要进行数据脱敏,防止泄露客户隐私。脱敏即是对数据的部分信息用脱敏符号()处理。
Stella981 Stella981
3年前
SourceTree安装
SourceTree安装教程  作为程序员,不可避免的要在github上查询代码,而在企业项目中,为了使得项目好管理需要使用项目管理客户端,所以接下来详细讲解一下基于git的sourceTree在windows系统下的安装及与GitHub上的账号进行远程连接同步更新的过程。    由于sourceTree的安装过程
Stella981 Stella981
3年前
Spring Cloud for Alibaba 之 Nacos注册中心 & 应用启动(2)
  Nacos启动后,开始建立几个应用,模仿微服务!  项目的git地址为: https://github.com/xujianguo1/aliclouddemo.git   分支&tagName:ServiceInit一、pom与配置用Dubbo与Nacos建立微服务,需要引入DubboStarter、D
Stella981 Stella981
3年前
Git@OSC日常操作
本文参考网上的很多文章,然后自己又走了一遍流程。终于搞懂,遂几下操作的过程。一、如何伤处Git@OSC的项目  打开项目,在项目的"管理"处,点击删除项目即可。二、当安装完成gitBush命令行工具后,首先进行配置  gitconfigglobaluser.name"你的名字"  gitconfiggloba
Wesley13 Wesley13
3年前
Java 编码规范有感
  应小组要求,开发测试都需要考阿里编码规范,因此,相当于是突击了一下关于编码规范方面的知识,目前做的项目后期需要进行项目迁移,数据迁移,功能迁移...各种迁移...  阿里巴巴编码规范(Java)考试地址:https://edu.aliyun.com/course/417/lesson/list(https://www.oschina.net/a
Stella981 Stella981
3年前
CentOS下宝塔如何部署Django项目?
基础环境装好宝塔服务宝塔里装好【Python项目管理器】宝塔里装好【Nginx】把Django项目代码发到服务器把代码放到服务器上有两种方法:方法一:服务器上安装Git,通过GitClone代码到服务器上方法二:通过宝塔的FTP工具把代码上传上去
Stella981 Stella981
3年前
Git用户手册
6.1GitHub账户的创建和配置GitHub是最大的Git版本库托管商,是成千上万的开发者和项目能够合作进行的中心。大部分Git版本库都托管在GitHub,很多开源项目使用GitHub实现Git托管、问题追踪、代码审查以及其它事情。所以,尽管这不是Git开源项目的直接部分,
一种配置化的数据脱敏与反脱敏框架实现 | 京东云技术团队
在现有的微服务技术架构背景下,敏感数据的使用存在许多痛点,基于此,tony提供了一套完整、安全、透明化、低改造成本的数据脱敏整合解决方案。
taskbuilder taskbuilder
6个月前
TaskBuilder数据添加页面前后端交互原理解析
在TaskBuilder内打开学员管理项目前端文件里的add.tfp页面,下面以这个文件为例介绍一下数据添加页面如何实现前后端的数据交互。如果要将页面里输入项的数据提交到后台,需要将这些输入项都放到表单组件中,然后通过表单组件实现数据的统一提交,具体原理如