git 從儲存庫中刪除敏感資料 刪除檔案歷史

2022-03-01 17:35:09 字數 3337 閱讀 6433

1、如果您的歷史記錄中還沒有包含敏感資料的儲存庫的本地副本,請將儲存庫轉殖到本地計算機。

2、切換到儲存庫的工作目錄,轉殖完成後庫的根目錄。

cd your-repository

3、執行以下命令,替換

為要刪除的檔案

path-to-your-file-with-sensitive-data的路徑,而不僅僅是檔名。

這些論點將:

git filter-branch --force --index-filter \

'git rm --cached --ignore-unmatch path-to-your-file-with-sensitive-data'\

--prune-empty --tag-name-filter cat -- --all

rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (

266/266

)ref

'refs/heads/master

'was rewritten

ref

'refs/remotes/origin/master

'was rewritten

warning: ref

'refs/remotes/origin/master

'is unchanged

4、新增包含敏感資料的檔案,

.gitignore以確保您不會意外地再次提交它。

echo "

your-file-with-sensitive-data

" >>.gitignore

git add .gitignore

git commit -m "

add your-file-with-sensitive-data to .gitignore

"[master 051452f] add your-file-with-sensitive-data to .gitignore

1 files changed, 1 insertions(+), 0 deletions(-)

5、仔細檢查您是否從儲存庫的歷史記錄中刪除了所需的所有內容,並檢查了所有分支機構。

6、一旦您對儲存庫的狀態感到滿意,強制推送您的本地更改以覆蓋您的github儲存庫,以及您推送的所有分支:

7、要從

標記版本中

刪除敏感檔案

,您還需要強制推送git標記:

8、經過一段時間後,您確信 

git filter-branch沒有意外的***,您可以使用以下命令(使用git 1.8.5或更高版本)強制取消引用本地儲存庫中的所有物件並進行垃圾**:

git for-each-ref --format='

delete %(refname)

' refs/original | git update-ref --stdin

git reflog expire --expire=now --all

git gc --prune=now

counting objects:

2437

, done.

delta compression

using up to 4

threads.

compressing objects:

100% (1378/1378

), done.

writing objects:

100% (2437/2437

), done.

total

2437 (delta 1461), reused 1802 (delta 1048)

9、執行完成後會刪除你的操作的資料檔案

徹底清除github上某個檔案的歷史(針對誤上傳密碼檔案等情況)

ABAP從資料庫中刪除行

刪除單行 delete client specified from 從資料表中刪除與中主鍵相同的行。delete client specified 從資料庫刪除主鍵與表工作區中指定主鍵相同的行。例 tables spfli.data wa like spfli.wa carrid aa wa con...

ABAP從資料庫中刪除行

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!刪除單行 delete client specified from 從資料表中刪除與中主鍵相同的行。delete client specified 從資料庫刪除主鍵與表工作區中指定主鍵相同的行。例 tables spfli.data wa like...

C 將檔案儲存到資料庫中或者從資料庫中讀取檔案

在程式設計中我們常常會遇到 將檔案儲存到資料庫中 這樣乙個問題,雖然這已不是什麼高難度的問題,但對於一些剛剛開始程式設計的朋友來說可能是有一點困難。其實,方法非常的簡單,只是可能由於這些朋友剛剛開始程式設計不久,一時沒有找到方法而已。下面介紹一下使用c 來完成此項任務。首先,介紹一下儲存檔案到資料庫...