git-prune(1)

# git-prune(1) Manual Page

## NAME

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

## SYNOPSIS

git-prune [-n] [-v] [--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 git-repack(1).

## OPTIONS

-n

  Do not remove anything; just report what it would remove.

-v

  Report all removed objects.

--

  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

git-fsck(1), git-gc(1), 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 git(1) suite