gerrit gc
=========

NAME
----
gerrit gc - Run the Git garbage collection

SYNOPSIS
--------
[verse]
'ssh' -p <port> <host> 'gerrit gc'
  [--all]
  <NAME> ...

DESCRIPTION
-----------
Runs the Git garbage collection for the specified projects.

A Gerrit system administrator can define the default parameters that
should be used for running the garbage collection in the user global
Git configuration file of the system user that runs the Gerrit
server.

Since the user global Git configuration file is overlaid with the Git
configuration on repository level it is possible to specify
repository specific parameters for the garbage collection in the Git
repository configuration of every project.

ACCESS
------
Caller must be a member of the privileged 'Administrators' group,
or have been granted the
link:access-control.html#capability_runGC[Run Garbage Collection]
global capability.

SCRIPTING
---------
This command is intended to be used in scripts.

OPTIONS
-------
<NAME>::
	Name of the projects for which the Git garbage collection should be run.

--all::
	If specified the Git garbage collection is run for all projects
	sequentially.

EXAMPLES
--------

Run the Git garbage collection for the projects 'myProject' and
'yourProject':
=====
	$ ssh -p 29418 review.example.com gerrit gc myProject yourProject
	collecting garbage for "myProject":
	...
	done.

	collecting garbage for "yourProject":
	...
	done.
=====

Run the Git garbage collection for all projects:
=====
	$ ssh -p 29418 review.example.com gerrit gc --all
=====

GERRIT
------
Part of link:index.html[Gerrit Code Review]
