git gc、 git repack、 git pruen で余計な git ファイルを削除2020年12月21日 11時58分46秒

git を使っていると次第に git の作業ファイルがたまってくる。これらを削除するには、三つの工程がある。
% git gc # Cleanup unnecessary files and optimize the local repository
% git repack -Ad # Pack unpacked objects in a repository
% git prune # Prune all unreachable objects from the object database
どうも、微妙に目的が違うようだ。個人的な経験だと、git gc で十分事が足りている。また、git 自体がレポジトリに貯ったファイルを把握していて、かなり貯ると、その時点でのコマンドを推薦してくる。

手元のレポジトリで実験。

% du -sh .git
 15M    .git
% du -s .git
15830   .git
% git gc
Enumerating objects: 8175, done.
Counting objects: 100% (8175/8175), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3688/3688), done.
Writing objects: 100% (8175/8175), done.
Total 8175 (delta 5528), reused 6492 (delta 4395), pack-reused 0
% du -s .git
1546    .git
git gc は結構、ディスク容量を減らした。この後、prune と repack を続ける。
% git repack -Ad
Enumerating objects: 8175, done.
Counting objects: 100% (8175/8175), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2554/2554), done.
Writing objects: 100% (8175/8175), done.
Total 8175 (delta 5529), reused 8175 (delta 5529), pack-reused 0
% du -s .git
1546    .git
このレポジトリは小さい為 repack の効果はなかった様だ。
% git prune
% du -s .git
1562    .git
prune も今回は効果無し。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2020/12/21/9328891/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。