2016-11-26 53 views
4

的瀏覽磁盤使用情況我想版本控制git我的主目錄。git的臨時區域

我用ncdu找到最大的子目錄,並從那裏建立了一個.gitignore,我希望我的排除主目錄的最大和最沒用的零件(如.gem/.cache/.cabal/tmp/)。

git add $HOME後,我怎麼能瀏覽索引/緩存/臨時區域相對於磁盤使用情況?

理想情況下,我喜歡的東西ncdu互動後我在哪裏可以深入到子目錄。

+0

您對存儲庫的大小感興趣嗎?或者您是否要求臨時區域(又名「索引」)?或者更改的大小大小最後一次提交? – j6t

+0

指數的大小。想象一下,我剛剛完成'git init; git add $ HOME',我想要一個類似於ncdu的視圖來看看索引/緩存/暫存區中的內容。 –

+0

如果你打算這樣做,特別要確保排除諸如'.ssh'之類的目錄,或者對你的權限做一絲不苟......或者查看可以告訴管理'$ HOME'的'etckeeper'。另外,請勿將它推到任何你不信任'ssh'鍵的地方! –

回答

1

將數據存儲在git-dir中。

默認文件夾中的.git(GIT-DIR)git的存儲數據。

您創建的最新存儲位置存儲在refs/stash中;較舊的儲物箱 在該參考文獻的引用日誌中發現,並且可以使用 通常引用日誌語法(例如藏匿@ {0}是最近創建 藏匿,藏匿@被命名爲{1}是一個在它之前,藏匿@ { 2.hours.ago}也可能是 )。

+0

這不會是一個新的'.git'位置中的一羣sha校驗和嗎?我將如何瀏覽這個目錄樹? –

0

本身將不相關的索引的大小,因爲我詳細的「What does the git index contain EXACTLY?」:

的狀態是在這個意義上‘虛擬’的,它並不一定要和通常不會匹配工作樹中的文件。

你可以做什麼......做一個承諾(你總是可以git reset @~取消承諾,後來重做)

然後,如在「git find fat commit」中提到:

git diff-tree -r -c -M -C --no-commit-id @  # get new blobs for HEAD commit 
git cat-file --batch-check << blob ids   # get size of each blob 

這將使用git cat-file bach output來打印關於它們的信息,包括objectsize:disk
如果未指定格式,則默認格式爲%(objectname) %(objecttype) %(objectsize)

相關問題