Git
日本語 ▾ トピック ▾ 最新バージョン ▾ git-prune は 2.43.0 で最後に更新されました

名前

git-prune - オブジェクトデータベースから到達不可能なすべてのオブジェクトを削除する

概要

git prune [-n] [-v] [--progress] [--expire <time>] [--] [<head>…​]

説明

注記
ほとんどの場合、ユーザーは *git gc* を実行する必要があります。 *git gc* は *git prune* を呼び出します。以下の「注記」セクションを参照してください。

これは、refs/ で利用可能なすべてのリファレンスを使用して *git fsck --unreachable* を実行し、オプションでコマンドラインで指定された追加のオブジェクトセットを使用して、これらのヘッドオブジェクトのいずれからも到達できないすべてのパックされていないオブジェクトをオブジェクトデータベースから削除します。さらに、 *git prune-packed* を実行することにより、パックにも見つかるパックされていないオブジェクトを削除します。また、どのリファレンスからも到達できない .git/shallow からのエントリも削除します。

到達不可能なパックされたオブジェクトは残ります。これが望ましくない場合は、git-repack[1] を参照してください。

オプション

-n
--dry-run

何も削除しません。削除される内容のみを報告します。

-v
--verbose

削除されたすべてのオブジェクトを報告します。

--progress

進捗状況を表示します。

--expire <時間>

<時間> より古い疎オブジェクトのみを期限切れにします。

--

これ以上の引数をオプションとして解釈しません。

<head>…​

いずれかのリファレンスから到達可能なオブジェクトに加えて、リストされた <head> から到達可能なオブジェクトを保持します。

リポジトリ、または .git/objects/info/alternates を介してリポジトリから借用する別のリポジトリで使用されていないオブジェクトを削除するには

$ git prune $(cd ../another && git rev-parse --all)

注記

ほとんどの場合、ユーザーは *git prune* を直接呼び出す必要はありませんが、代わりに *git gc* を呼び出す必要があります。 *git gc* は、プルーニングと他の多くのハウスキーピングタスクを処理します。

どのオブジェクトがプルーニングの対象となるかについては、 *git fsck* の --unreachable オプションを参照してください。

GIT

git[1] スイートの一部

scroll-to-top