# What is Gerrit Code Review?

Gerrit provides web based code review and repository management
for the Git version control system.

If you are new to Gerrit, you may read a [Quick Introduction](https://gerrit-review.googlesource.com/Documentation/intro-quick.html)
directly from the Google-hosted documentation Gerrit web-site:

> Gerrit is intended to provide a lightweight framework for reviewing
> every commit before it is accepted into the code base. Changes are
> uploaded to Gerrit but don’t actually become a part of the project
> until they’ve been reviewed and accepted.

# What is Gerrit User Summit?

Gerrit User Summit and Hackathon is THE event for everything related
to the Gerrit Code Review Community.

The Gerrit User Summit is the place where all of major Gerrit users
annually meet and exchange experiences and practices that foster the
community with new and useful ideas.

## Gerrit Community in Numbers

* 9 years of activity
* 13 events in USA, UK and Germany
* 300+ contributors worldwide
* 124 releases
* 100+ plugins
* 6,500+ topics discussed on the repo-discuss mailing list 10,000 users registered on GerritHub.io
* 800+ teams on GerritHub.io
* 2.5M repositories hosted by Google on Gerrit Code Review
