2016-11-26 16 views
4

私のホームディレクトリをバージョン管理したいと考えていますgitです。gitステージング領域のディスク使用量を参照してください

私は最大のサブディレクトリを検索するためにncduを使用し、そこから私は自分のホームディレクトリの最大かつ最も役に立たない部分を除外し(例えば.gem/.cache/.cabal/tmp/)を願ってい.gitignoreを構築しました。

git add $HOMEを実行した後、ディスク使用量に関してインデックス/キャッシュ/ステージング領域を参照するにはどうすればよいですか?

理想的には、サブディレクトリにドリルダウンできるncduのようなインタラクティブなものの後です。

+0

リポジトリのサイズに興味がありますか、ステージングエリア(別名「インデックス」)を指定したいですか?または最後のコミットのサイズの変更サイズ? – j6t

+0

インデックスのサイズ。私がちょうど 'git init; git add $ HOME'とし、インデックス/キャッシュ/ステージング領域にあるものを 'ncdu'のように見たいと思っています。 –

+0

これを行うつもりならば、特に '.ssh'のようなディレクトリを除外するか、あなたの許可を細心の注意を払ってください。代わりに' $ HOME'を管理するよう指示できる '' etckeeper''をチェックしてください。また、あなたの 'ssh'キーを信頼しないところには押し込まないでください! –

答えて

1

git-dirのスタッシュデータストア。

デフォルトでは、gitストアデータはフォルダ.git(git-dir)にあります。

作成した最新の秘密は、refs/stashに保存されています。古いstash は、この参照のreflogにあり、通常のreflog構文の を使用して名前を付けることができます(stash @ {0}は最後に作成された stashです)、stash @ {1} 2.hours.ago}も です)。

+0

これは、新しい '.git'の場所にshチェックサムの束ではありませんか?これをディレクトリツリーとしてどのように参照するのですか? –

0

What does the git index contain EXACTLY?」でI詳細ので、インデックス自体のサイズは、関連性がないであろう。

状態が、それは必ずしも必要がないという意味で 『仮想』であり、多くの場合、作業ツリーのファイルと一致しません。

あなたは「git find fat commit」で述べたように、

その後(あなたは常にgit reset @~がコミットし、後でそれをやり直すキャンセルすることができます)コミットします...ある何ができるか:

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 

を使用して、objectsize:diskなどの情報を印刷します。
フォーマットを指定しない場合、デフォルトのフォーマットは%(objectname) %(objecttype) %(objectsize)です。

関連する問題