專案中之前有個大檔案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裡有給出此類的解決方法 這樣看來的話,可能還是有點懵,因為在其中還需要額外的操作...