How Gerrit Works

version v2.16.5

To learn how Gerrit fits into and complements the developer workflow, consider
a typical project. The following project contains a central source repository
(Authoritative Repository) that serves as the authoritative version of the
project’s contents.

Figure 1. Central Source Repository

When implemented, Gerrit becomes the central source repository and introduces
an additional concept: a store of Pending Changes.

Figure 2. Gerrit as the Central Repository

When Gerrit is configured as the central source repository, all code changes
are sent to Pending Changes for others to review and discuss. When enough
reviewers have approved a code change, you can submit the change to the code
base.

In addition to the store of Pending Changes, Gerrit captures notes and comments
made about each change. This enables you to review changes at your convenience
or when a conversation about a change can’t happen in person. In addition,
notes and comments provide a history of each change (what was changed and why and
who reviewed the change).

Like any repository hosting product, Gerrit provides a powerful
access control model, which enables you to
fine-tune access to your repository.