背景

这是个尴尬的背景

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

image.png

image.png

cd XX.git

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

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

image.png


southnan0
156 声望8 粉丝

欲买桂花同载酒,终不似,少年游


« 上一篇
Taro调研