清除 GitHub 歷史記錄的隱私資訊

start發表於2022-06-10

清理 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> <branch>

Tips:

branch 可以通過命令 git branch -a 檢視,帶 *即為當前的分支

結果

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

相關文章