Prune all unreachable objects from the object database


Report what would be removed by git prune without removing it

$ git prune --dry-run

Prune unreachable objects and display what has been pruned to stdout

$ git prune --verbose

Prune unreachable objects while showing progress

$ git prune --progress


gitprune [ -n] [ -v] [ --progress] [ --expire <time>] [ --] [<head> ...]


.sp 1 an-trap an-no-space-flag 1 an-break-flag 1
+1 Note -1

In most cases, users should run gitgc ,which calls gitprune . See the section "NOTES", below .

This runs gitfsck --unreachable using all the refs available in 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 gitprune -packed . It also removes entries from .git/shallow that are not reachable by any ref .
Note that unreachable, packed objects will remain . If this is not desired, see git-repack (1).


-n, --dry -run Do not remove anything; just report what it would remove .

-v, --verbose Report all removed objects .

--progress Show progress .

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

-- Do not interpret any more arguments as options .

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


To prune objects not used by your repository or another that borrows from your repository via its .git/objects/info/alternates :
.RS 4
$ git prune $(cd . ./another && git rev -parse --all) .RE


In most cases, users will not need to call gitprune directly, but should instead call gitgc ,which handles pruning along with many other housekeeping tasks .
For a description of which objects are considered for pruning, see gitfsck (Aqs --unreachable option .


Part of the git (1)suite


git-fsck(1), git-gc(1), git-reflog(1)

Copied to clipboard
free 100$ digital ocean credit