]>
Commit | Line | Data |
---|---|---|
2057d750 DS |
1 | git-maintenance(1) |
2 | ================== | |
3 | ||
4 | NAME | |
5 | ---- | |
6 | git-maintenance - Run tasks to optimize Git repository data | |
7 | ||
8 | ||
9 | SYNOPSIS | |
10 | -------- | |
11 | [verse] | |
12 | 'git maintenance' run [<options>] | |
13 | ||
14 | ||
15 | DESCRIPTION | |
16 | ----------- | |
17 | Run tasks to optimize Git repository data, speeding up other Git commands | |
18 | and reducing storage requirements for the repository. | |
19 | ||
20 | Git commands that add repository data, such as `git add` or `git fetch`, | |
21 | are optimized for a responsive user experience. These commands do not take | |
22 | time to optimize the Git data, since such optimizations scale with the full | |
23 | size of the repository while these user commands each perform a relatively | |
24 | small action. | |
25 | ||
26 | The `git maintenance` command provides flexibility for how to optimize the | |
27 | Git repository. | |
28 | ||
29 | SUBCOMMANDS | |
30 | ----------- | |
31 | ||
32 | run:: | |
090511bc DS |
33 | Run one or more maintenance tasks. If one or more `--task=<task>` |
34 | options are specified, then those tasks are run in the provided | |
35 | order. Otherwise, only the `gc` task is run. | |
2057d750 DS |
36 | |
37 | TASKS | |
38 | ----- | |
39 | ||
663b2b1b DS |
40 | commit-graph:: |
41 | The `commit-graph` job updates the `commit-graph` files incrementally, | |
42 | then verifies that the written data is correct. The incremental | |
43 | write is safe to run alongside concurrent Git processes since it | |
44 | will not expire `.graph` files that were in the previous | |
45 | `commit-graph-chain` file. They will be deleted by a later run based | |
46 | on the expiration delay. | |
47 | ||
2057d750 DS |
48 | gc:: |
49 | Clean up unnecessary files and optimize the local repository. "GC" | |
50 | stands for "garbage collection," but this task performs many | |
51 | smaller tasks. This task can be expensive for large repositories, | |
52 | as it repacks all Git objects into a single pack-file. It can also | |
53 | be disruptive in some situations, as it deletes stale data. See | |
54 | linkgit:git-gc[1] for more details on garbage collection in Git. | |
55 | ||
56 | OPTIONS | |
57 | ------- | |
58 | --auto:: | |
59 | When combined with the `run` subcommand, run maintenance tasks | |
60 | only if certain thresholds are met. For example, the `gc` task | |
61 | runs when the number of loose objects exceeds the number stored | |
62 | in the `gc.auto` config setting, or when the number of pack-files | |
63 | exceeds the `gc.autoPackLimit` config setting. | |
64 | ||
3ddaad0e DS |
65 | --quiet:: |
66 | Do not report progress or other information over `stderr`. | |
67 | ||
090511bc DS |
68 | --task=<task>:: |
69 | If this option is specified one or more times, then only run the | |
70 | specified tasks in the specified order. See the 'TASKS' section | |
71 | for the list of accepted `<task>` values. | |
72 | ||
2057d750 DS |
73 | GIT |
74 | --- | |
75 | Part of the linkgit:git[1] suite |