[英]After deleting a binary file from Git history why is my repository still large?
[英]Git deleting large file from history - Bitbucket
我不小心將一個大文件推送到 Bitbucket 中的遠程 git reposiroy。 該文件具有.webm
擴展名。 我把*.webm
放在.gitignore
,然后為了刪除它,我運行了 BFG:
java -jar bfg-1.13.0.jar --delete-files *.webm
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git push origin --force
問題是最后一個命令不斷將原始 .webm 文件推送到遠程存儲庫,而 bitbucket 一直說我的存儲庫已達到 1Gb+ 的已用空間。
如果我運行而不是最后一個命令git push -u origin master
,它會說我需要執行git pull
,這使我再次下載大文件。
我究竟做錯了什么? 我應該直接從 Bitbucket 中刪除文件嗎?
請參閱 BFG 文檔的“您的文件是神聖的”段落:
默認情況下,BFG 不會修改您在 master(或“HEAD”)分支上的最新提交的內容,即使它會清除它之前的所有提交。
那是因為您的最新提交很可能是您部署到生產中的那個
(……)
如果要關閉保護(通常不推薦),可以使用
--no-blob-protection
標志:$ bfg --strip-biggest-blobs 100 --no-blob-protection repo.git
另一種方法是從頭部提交中手動刪除它:
git rm --cached thatfile.webm
git commit --amend
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.