![](/img/trans.png)
[英]Removing unwanted folders from git repo permanently - Repo size not changing
[英]Deleting folders from git history to reduce repo size
我正在嘗試解決托管在 Bitbucket 上的存儲庫上的存儲庫大小限制問題,我已達到 2GB 存儲庫大小並且無法再將新提交推送到其中。
在某個時間點,由於其中文件的性質(此存儲庫所針對的 Unity 項目需要許多紋理和聲音文件),此存儲庫變得非常大,當時我們的解決方案是創建一個子模塊,用於放置所有資產,同時將核心項目保留在主存儲庫中。
這工作了一段時間,但現在我再次達到了主存儲庫的限制,並深入研究(感謝此答案中提供的腳本: 如何找出哪些文件占用了 git 存儲庫中最多的空間? ),我發現這樣做的原因是我們移動到子模塊的所有文件在主存儲庫中的歷史記錄仍然完好無損。
然后我發現了 BFG ( https://rtyley.github.io/bfg-repo-cleaner/ ),我可以用它來重寫我的 repo 的歷史記錄並使用bfg --delete-folders
刪除其中的大條目bfg --delete-folders
,然后按照 The BFG 頁面的 Usage 部分中的說明運行git gc
。
之后運行git count-objects -v
似乎表明這已經奏效,我的 repo 從 1.9gb 大小包下降到 300mb 以下。 並且運行上面鏈接的腳本以找到 repo 中最重的條目,不再找到任何移動到子模塊的問題文件。
我的問題是,盡管如此,當我嘗試將清理過的 repo 推回 Bitbucket 時,它失敗了,同樣聲稱 repo 已超過 2GB 大小限制並且無法再接受任何推送。 如果它不能接受應該清理它的推送,那么我究竟應該怎么做呢? 任何想法我錯過了什么?
謝謝
您可能會刪除 github 上的所有分支,然后推送新分支……或者您可能會在 github 上刪除整個 repo,從頭開始重新創建並推送新分支。
Bitbucket 的大小限制方法似乎是在存儲庫超過限制時鎖定所有更改。 “所有變化”就是這個意思。 您不僅不能添加到存儲庫,也不能用較小的存儲庫替換存儲庫。
這是一個 Bitbucket 特性,與 Git 無關。 您必須聯系 Bitbucket 支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.