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