刪除Git記錄中大檔案

2021-08-02 12:36:56 字數 1340 閱讀 9725

專案中之前有個大檔案videos/404-hd.mp4,每次提交**巨慢,所以刪了資源檔案。刪了之後還是提交很多。因為.git裡面有404-hd.mp4的管理記錄。

怎麼刪掉呢?來上碼

➜  project git:(master) du -sh .

34m .

➜ project git:(master) git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch videos/404-hd.mp4' --prune-empty --tag-name-filter cat -- --all

rewrite 78afd72cbddee0348866d0c48df366ce******xx (11/15)rm 'videos/404-hd.mp4'

rewrite 5ff3161309848f8bdef5987afe05f4ea******xx (15/15)

warning: ref 'refs/heads/b' is unchanged

ref 'refs/heads/master' was rewritten

warning: ref 'refs/remotes/***/master' is unchanged

warning: ref 'refs/remotes/******' is unchanged

ref 'refs/remotes/***xx/master' was rewritten

➜ project git:(master) rm -rf .git/refs/original/

➜ project git:(master) git reflog expire --expire=now --all

➜ project git:(master) git gc --prune=now

counting objects: 87, done.

delta compression using up to 4 threads.

compressing objects: 100% (61/61), done.

writing objects: 100% (87/87), done.

total 87 (delta 24), reused 87 (delta 24)

➜ project git:(master) du -sh .

2.2m .

➜ project git:(master)

操作完之後,減少了 30多m。

注意

git 庫永久刪除大檔案

無意中把乙個裝有很多大檔案資料的資料夾 my1202260986 提交了,現在.git有681mb之大 du git hd0 681mb git 不過還沒有push出去。我用如下命令清除了錯誤提交的大檔案 git filter branch index filter git rm r cache i...

git中刪除過大檔案

不小心把很大的exe檔案複製到了工程裡並且commit了,之後我雖然刪除了本地的檔案,但是push的時候仍然提示我檔案過大。1.使用 rev list 命令,傳入 objects 選項,它會列出所有 commit sha 值,blob sha 值及相應的檔案路徑,這樣檢視 blob 的檔名。git ...

Git中刪除大檔案或清除汙染檔案

有時候,如果gitignore沒有寫好,或者自己在某些目錄下放入了乙個大檔案,而同時又已經commit或者push到倉庫裡了,很容易導致倉庫容量越來越大,同時你本地的.git裡的pack檔案也會大得一塌糊塗 github裡有給出此類的解決方法 這樣看來的話,可能還是有點懵,因為在其中還需要額外的操作...