第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的git存儲庫這么大?

為什么我的git存儲庫這么大?

Git
慕仙森 2019-08-30 11:02:16
為什么我的git存儲庫這么大?145M = .git / objects / pack /我編寫了一個腳本來添加每個提交和提交的差異大小,然后再從每個分支的尖端向后移動。我得到129MB,沒有壓縮,沒有分支機(jī)構(gòu)的相同文件和分支機(jī)構(gòu)之間的共同歷史記錄。Git考慮了所有這些因素,所以我期望更小的存儲庫。那么為什么.git這么大?我弄完了:git fsck --fullgit gc --prune=today --aggressivegit repack要回答有多少文件/提交,我有19個分支,每個文件大約有40個文件。287次提交,發(fā)現(xiàn)使用:git log --oneline --all|wc -l它不應(yīng)該使用10兆字節(jié)來存儲有關(guān)此信息。
查看完整描述

3 回答

?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗 獲得超3個贊

我最近把錯誤的遠(yuǎn)程存儲庫拉到了本地(git remote add ...和git remote update)。刪除不需要的遠(yuǎn)程引用,分支和標(biāo)簽后,我的存儲庫中仍然有1.4GB(?。┑睦速M(fèi)空間。我只能通過克隆來擺脫它git clone file:///path/to/repository。請注意,file://克隆本地存儲庫時會產(chǎn)生一些差異 - 只會復(fù)制引用的對象,而不是整個目錄結(jié)構(gòu)。


編輯:這是Ian的一個班輪,用于重新創(chuàng)建新回購中的所有分支:


d1=#original repo

d2=#new repo (must already exist)

cd $d1

for b in $(git branch | cut -c 3-)

do

    git checkout $b

    x=$(git rev-parse HEAD)

    cd $d2

    git checkout -b $b $x

    cd $d1

done


查看完整回答
反對 回復(fù) 2019-08-30
?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗 獲得超6個贊

git gc已經(jīng)做了git repack所以沒有任何意義在手動重新包裝,除非你要傳遞一些特殊的選項。


第一步是查看大多數(shù)空間(通常情況下)是否是對象數(shù)據(jù)庫。


git count-objects -v

這應(yīng)該會報告存儲庫中有多少個解壓縮的對象,它們占用了多少空間,有多少包文件以及它們占用了多少空間。


理想情況下,在重新打包之后,您將沒有解壓縮的對象和一個打包文件,但是當(dāng)前分支不能直接引用的某些對象仍然存在和解壓縮是完全正常的。


如果您有一個大包裝并且想知道占用空間的是什么,那么您可以列出構(gòu)成包裝的對象以及它們的存儲方式。


git verify-pack -v .git/objects/pack/pack-*.idx

請注意,verify-pack它采用索引文件而不是包文件本身。這給出了包中每個對象的報告,它的真實大小和包裝大小,以及關(guān)于它是否已經(jīng)“完整”的信息,如果是,那么三角鏈的起源。


要查看存儲庫中是否存在任何異常大的對象,您可以在第四列的第三列(例如| sort -k3n)上以數(shù)字方式對輸出進(jìn)行排序。


通過此輸出,您將能夠使用該git show命令查看任何對象的內(nèi)容,盡管無法準(zhǔn)確查看引用該對象的存儲庫的提交歷史記錄中的位置。如果您需要這樣做,請嘗試這個問題。


查看完整回答
反對 回復(fù) 2019-08-30
  • 3 回答
  • 0 關(guān)注
  • 951 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號