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 linkgit:git-gc[1], 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 linkgit:git-gc[1], 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
