2016-11-12 30 views
0

我有使用,目前下載和使用shell腳本編譯的第三方代碼庫。這可行,但有時鏡子很慢或無法到達。這對我來說會更容易(因爲第三方代碼只是OpenSource項目)將其與我的代碼捆綁在一起。的Git:覆蓋或抹大文件(檔案)從倉庫?

不過,我不希望我的git倉庫隨着時間的推移變得巨大(像通常那樣,當你包括一次比一次大存儲二進制文件的更新它們)。

有什麼辦法來擦拭名爲.tar.gz(或類似)的檔案從一個Git倉庫?

或者可能我莫名其妙地覆蓋foo.tar.gz一旦它過時了嗎?所以它只消耗最新版本使用的內存(並因此刪除文件的較舊版本)?

+1

入住這https://git-lfs.github.com/ – user3159253

+1

下面是官方[GitHub的DOC( https://help.github.com/articles/working-with-large-files/)處理大文件 – user3159253

回答

0

有什麼辦法來擦拭名爲.tar.gz(或類似)的檔案從一個Git倉庫?

How to remove big files from the repository

有幾個方式做到這一點:

  • 您可以使用git filter-branch

  • BFG Repo-Cleaner

    BFG Repo-Cleaner

    到GIT-濾波器分支的替代。

    的BFG是一個簡單,快捷的替代git的過濾分支用於清潔壞數據您的Git倉庫的歷史:

    刪除瘋狂大文件
    刪除密碼,證書&其他私人數據

    例子(從官方網站)

    在所有這些例子BFG爲Java的罐子bfg.jar的別名。

    # Delete all files named 'id_rsa' or 'id_dsa' : 
    bfg --delete-files id_{dsa,rsa} my-repo.git 
    
  • GIT LFS (large file storage)


    enter image description here