git-prune(1)
============

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


SYNOPSIS
--------
'git-prune' [-n] [--expire <expire>] [--] [<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 `$GIT_DIR/refs`, optionally with 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'.

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

OPTIONS
-------

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

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

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

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

EXAMPLE
-------

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

------------
$ git prune $(cd ../another && $(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]

Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

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