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.

Authoritative Source Repository
Figure 1. Central Source Repository

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

Gerrit as the Central Repository
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.

Part of Gerrit Code Review