我正在嘗試跟蹤我正在處理的項目的大小。有沒有一種簡單的方法可以在磁盤上爲不同的分支獲取回購大小。我試過獲取git分支大小?
git count-objects -v
但它給出了每個分支相同的回購大小。
我正在嘗試跟蹤我正在處理的項目的大小。有沒有一種簡單的方法可以在磁盤上爲不同的分支獲取回購大小。我試過獲取git分支大小?
git count-objects -v
但它給出了每個分支相同的回購大小。
這個問題並沒有真正意義 - 在Git中,分公司不單獨存放。相反,有一個提交網頁,基本上只是存儲差異。分支只是指向這個提交網絡中特定提交的指針。所以一般來說,分支機構分享很多相同的信息。
如果您想知道單個分支的磁盤空間大小,意思是如果只克隆只有該分支的repo,需要的磁盤空間最少,最簡單的方法就是製作回購就像那樣,然後詢問回購的規模。
這裏的東西真醜:
$ git rev-list HEAD | # list commits
xargs -n1 git ls-tree -rl | # expand their trees
sed -e 's/[^ ]* [^ ]* \(.*\)\t.*/\1/' | # keep only sha-1 and size
sort -u | # eliminate duplicates
awk '{ sum += $2 } END { print sum }' # add up the sizes in bytes
這隻會算斑點(不承諾,樹木等),並不會佔到任何包裝或跨部門對象共享。但它可以作爲有用的基礎。
別的地方有人建議建立一個「捆綁」只有你需要看看它的大小事情。這可能是你在找什麼的一個很好的近似:'混帳束創建 &&杜-sh '。它確實包含了打包和壓縮,但不包括使用歷史記錄(引用,索引文件,配置等)所需的存儲庫大小。 –
fork0