关于git:git项目数据批量脱敏

背景

这是个难堪的背景

鉴于我的项目的与业务不耦合,于是决定将我的项目放到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

cd XX.git

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

记得,推的时候,须要把相干的分支都勾销爱护

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理