Git專案過大清理(針對大檔案)

2022-08-20 12:27:12 字數 1707 閱讀 9872

如圖,由於之前上傳了一些比較大的檔案,導致專案太大。即使後來刪除,記錄中還是儲存了這個檔案。以後不管是拷貝,還是push/pull都比較麻煩。這會導致所有人每次git fetch需要浪費很多時間。檢視專案倉庫大小可以使用命令git count-objects -vh

如圖,我的專案已經超過4g了,下面進行清理。

切記: 大檔案需要新增到 .gitignore檔案

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -10 | awk '')"
git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch 檔案/資料夾' --prune-empty --tag-name-filter cat -- --all
檔案如:5.mp4資料夾如:/models/注意:一次只能處理乙個檔案/資料夾,如果有多個需要耐心處理。

git for-each-ref --format=『delete %(refname)『 refs/original | git update-ref --stdin

rm -rf .git/refs/original/

git reflog expire --expire=now --all

git gc --prune=now

git gc --aggressive --prune=now

git push origin --force --all

git remote prune origin

完成後拉取專案將會變小,但是gitlab的專案的大小並不會變化。不過後面拉取專案會變小,也變成700m了

清理完之後,每個人一定要刪掉之前拉取的專案, 重新從git上拉專案。不要使用之前的專案了!否則會不降反公升!

這是赤裸裸教訓

如果有條件進入到gitlab服務部署目錄,可以對遠端倉庫進行確認和**。(沒有條件,沒有嘗試)

sudo su

cd $/git-data/repositories/

git count-objects -vh # 此時還是舊的大小

git gc --prune=now # 清理無效檔案

git count-objects -vh # 此時就和本地一樣,從庫減小了

知乎-如何解決 github 提交次數過多 .git 檔案過大的問題?

找出並刪除git庫中的大檔案

git從庫中移除已刪除大檔案

git中刪除過大檔案

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

git目錄檔案過大

最近clone乙個倉庫發現資料夾巨大,檢視具體檔案體積並不大 後來發現是.git目錄占用過多空間 git 往磁碟儲存物件時預設使用的格式叫鬆散物件 loose object 格式 git 時不時地將這些物件打包至乙個叫 packfile 的二進位制檔案以節省空間並提高效率 而git verify p...

git 檔案過大 減小 git 檔案體積

最近發現github上專案.git檔案已經達到了2個g,整理了減小.git檔案的方法。乙個管理git倉庫的資料夾,這裡包含所有git操作所需要的東西 執行gc,生成pack檔案 後面的 prune now表示對之前的所有提交做修剪,有的時候僅僅gc一下.git檔案就會小很多 git gc prune...