簡體   English   中英

Git 從歷史記錄中刪除大文件 - Bitbucket

[英]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.

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