Home Explore Blog CI



git

Documentation/git-prune.adoc
10db301526c4bb1b71e962284c0f5f8c529f23870bdefec3000000030000077f
git-prune(1)
============

NAME
----
git-prune - Prune all unreachable objects from the object database


SYNOPSIS
--------
[verse]
'git prune' [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]

DESCRIPTION
-----------

NOTE: In most cases, users should run 'git gc', which calls
'git prune'. See the section "NOTES", below.

This runs 'git fsck --unreachable' using all the refs
available in `refs/`, optionally with an additional set of
objects specified on the command line, and prunes all unpacked
objects unreachable from any of these head objects from the object database.
In addition, it
prunes the unpacked objects that are also found in packs by
running 'git prune-packed'.
It also removes entries from .git/shallow that are not reachable by
any ref.

Note that unreachable, packed objects will remain.  If this is
not desired, see linkgit:git-repack[1].

OPTIONS
-------

-n::
--dry-run::
	Do not remove anything; just report what it would
	remove.

-v::
--verbose::
	Report all removed objects.

--progress::
	Show progress.

--expire <time>::
	Only expire loose objects older than <time>.

\--::
	Do not interpret any more arguments as options.

<head>...::
	In addition to objects
	reachable from any of our references, keep objects
	reachable from listed <head>s.

EXAMPLES
--------

To prune objects not used by your repository or another that
borrows from your repository via its
`.git/objects/info/alternates`:

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

NOTES
-----

In most cases, users will not need to call 'git prune' directly, but
should instead call 'git gc', which handles pruning along with
many other housekeeping tasks.

For a description of which objects are considered for pruning, see
'git fsck''s --unreachable option.

SEE ALSO
--------

linkgit:git-fsck[1],
linkgit:git-gc[1],
linkgit:git-reflog[1]

GIT
---
Part of the linkgit:git[1] suite

Chunks
f8c3d9cc (1st chunk of `Documentation/git-prune.adoc`)
Title: Git Prune Command
Summary
The git-prune command is used to remove unreachable objects from the Git object database, and is typically run as part of the git-gc command for general housekeeping tasks. It prunes unpacked objects that are no longer reachable from any head object, as well as objects that are also found in packs, and removes entries from .git/shallow that are not reachable by any ref. The command can be used with various options to customize its behavior, including dry-run, verbose, and progress modes.