清除存放庫資料

已完成

即使 Git 的其中一項優點是有效保存長期歷程記錄的功能,但有時您仍必須清除資料。

最常見的情況是您想要:

  • 移除歷程記錄,大幅降低存放庫的大小。
  • 移除意外上傳的大型檔案。
  • 移除不應上傳的敏感性檔案。

如果在 Git 中認可敏感性檔案 (例如密碼、金鑰),則您可以從歷程記錄加以移除。 常用的兩項工具如下:

git filter-repo 工具

git filter-repo 是重寫歷程記錄的工具。

其 core filter-repo 包含建立歷程記錄重寫工具的程式庫。 具有特殊需求的使用者可以快速建立全新的歷程記錄重寫工具。

注意

如需詳細資訊,請參閱存放庫 git-filter-repo

BFG Repo-Cleaner

BFG Repo-Cleaner 是常用的開放原始碼工具,用於刪除或「修正」存放庫中的內容。 相較於 git filter-branch 命令,這項工具更容易使用。 針對單一檔案或一組檔案,請使用 --delete-files 選項:

$ bfg --delete-files file_I_should_not_have_committed

下列 Bash 顯示如何尋找存放庫中有名為 passwords.txt 檔案的所有位置。 此外,若要取代其中的所有文字,您可以執行 --replace-text 選項:

$ bfg --replace-text passwords.txt

如需詳細資訊,請參閱

快速重寫 Git 存放庫歷程記錄

移除 Git 大型檔案儲存體中的檔案

移除存放庫中的敏感性資料

BFG Repo Cleaner