簡體   English   中英

Git:覆蓋或擦除存儲庫中的大文件(歸檔)?

[英]Git: overwrite or wipe large files (archives) from repository?

我有一個存儲庫,該存儲庫使用當前使用Shell腳本下載和編譯的第3方代碼。 這可行,但是有時鏡像很慢或無法到達。 對我來說,將它與我的代碼捆綁起來會更容易(因為第三方代碼只是OpenSource項目)。

但是,我不希望我的git存儲庫隨着時間的推移而變得龐大(就像通常那樣,當您包含每次更新它們都會存儲的大型二進制文件時)。

有什么辦法可以從git倉庫中刪除.tar.gz(或類似文件)檔案?

還是一旦過時我就可以覆蓋foo.tar.gz嗎? 這樣就只消耗最新版本使用的內存(並因此刪除文件的較早修訂版)?

有什么辦法可以從git倉庫中刪除.tar.gz(或類似文件)檔案?

How to remove big files from the repository

有幾種方法可以做到:

  • 您可以使用git filter-branch

  • BFG回購清潔劑

    BFG Repo-Cleaner

    git-filter-branch的替代方法。

    BFG是git-filter-branch的一種更簡單,更快的替代方法,用於從Git存儲庫歷史記錄中清除不良數據

    刪除瘋狂的大文件
    刪除密碼,憑據和其他私人數據

    示例(來自官方網站)

    在所有這些示例中,bfg是java -jar bfg.jar的別名。

      # Delete all files named 'id_rsa' or 'id_dsa' : bfg --delete-files id_{dsa,rsa} my-repo.git 
  • GIT LFS(大文件存儲)


    在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM