Documentation / git-prune.txton commit graph: add commit graph design document (ae30d7b)
   1git-prune(1)
   2============
   3
   4NAME
   5----
   6git-prune - Prune all unreachable objects from the object database
   7
   8
   9SYNOPSIS
  10--------
  11[verse]
  12'git prune' [-n] [-v] [--progress] [--expire <time>] [--] [<head>...]
  13
  14DESCRIPTION
  15-----------
  16
  17NOTE: In most cases, users should run 'git gc', which calls
  18'git prune'. See the section "NOTES", below.
  19
  20This runs 'git fsck --unreachable' using all the refs
  21available in `refs/`, optionally with additional set of
  22objects specified on the command line, and prunes all unpacked
  23objects unreachable from any of these head objects from the object database.
  24In addition, it
  25prunes the unpacked objects that are also found in packs by
  26running 'git prune-packed'.
  27It also removes entries from .git/shallow that are not reachable by
  28any ref.
  29
  30Note that unreachable, packed objects will remain.  If this is
  31not desired, see linkgit:git-repack[1].
  32
  33OPTIONS
  34-------
  35
  36-n::
  37--dry-run::
  38        Do not remove anything; just report what it would
  39        remove.
  40
  41-v::
  42--verbose::
  43        Report all removed objects.
  44
  45--progress::
  46        Show progress.
  47
  48--expire <time>::
  49        Only expire loose objects older than <time>.
  50
  51\--::
  52        Do not interpret any more arguments as options.
  53
  54<head>...::
  55        In addition to objects
  56        reachable from any of our references, keep objects
  57        reachable from listed <head>s.
  58
  59EXAMPLE
  60-------
  61
  62To prune objects not used by your repository or another that
  63borrows from your repository via its
  64`.git/objects/info/alternates`:
  65
  66------------
  67$ git prune $(cd ../another && git rev-parse --all)
  68------------
  69
  70Notes
  71-----
  72
  73In most cases, users will not need to call 'git prune' directly, but
  74should instead call 'git gc', which handles pruning along with
  75many other housekeeping tasks.
  76
  77For a description of which objects are considered for pruning, see
  78'git fsck''s --unreachable option.
  79
  80SEE ALSO
  81--------
  82
  83linkgit:git-fsck[1],
  84linkgit:git-gc[1],
  85linkgit:git-reflog[1]
  86
  87GIT
  88---
  89Part of the linkgit:git[1] suite