不小心提交到 Git 的敏感文件,怎麼完全從倉庫中清除

使用 Git 做代碼版本控制時,有時候會不小心把某些敏感的文件提交到 Git 倉庫,可能過後很久才發現。或者是以前提交的文件,現在發現不合適,需要從倉庫中清理。 如果但是刪除文件,然後提交的話,還是可以從倉庫的歷史記錄中找出這個文件,這個問題就比較嚴重了。

所以,如果要徹底從 Git 倉庫中刪除某個文件可以用如下操作:

git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch path_to_file' HEAD

其中 path_to_file 就是你要刪除的文件在項目中的相對路徑,例如:src/main/resource/config.json 。

執行改命令後,git 會遍歷整個倉庫的歷史記錄找出這個文件,清理,然後重新構造 git 的歷史鏈條。

接下來強推就行了 git push -f ,這樣遠程倉庫上也不會再存在這個文件了。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章