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).
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 .