git-prune(1) ============ NAME ---- git-prune - Prunes all unreachable objects from the object database SYNOPSIS -------- 'git-prune' [-n] [--] [...] DESCRIPTION ----------- This runs `git-fsck-objects --unreachable` using the heads specified on the command line (or `$GIT_DIR/refs/heads/\*` and `$GIT_DIR/refs/tags/\*` if none is specified), and prunes all unreachable objects from the object database. In addition, it prunes the unpacked objects that are also found in packs by running `git prune-packed`. OPTIONS ------- -n:: Do not remove anything; just report what it would remove. --:: Do not interpret any more arguments as options. ...:: Instead of keeping objects reachable from any of our references, keep objects reachable from only listed s. + Note that the explicitly named s are *not* appended to the default set of references, but they replace them. In general you would want to say `git prune $(git-rev-parse --all) extra1 extra2` to keep chains of commits leading to extra1, extra2, ... in addition to what are reachable from your own refs. Saying `git prune extra1 extra2` would *lose* objects reachable only from the usual refs, which is usually not what you want. EXAMPLE ------- To prune objects not used by your repository and another that borrows from your repository via its `.git/objects/info/alternates`: ------------ $ git prune $(git-rev-parse --all) \ $(cd ../another && $(git-rev-parse --all)) ------------ Author ------ Written by Linus Torvalds Documentation -------------- Documentation by David Greaves, Junio C Hamano and the git-list . GIT --- Part of the gitlink:git[7] suite