Gerrit Fundamentals Training
Master change-based code review with Gerrit. Hands-on training covering changes, patch sets, review labels, and the review workflow that powers Android and Chromium development.
Get started with Gerrit, the change-based code review system used by Android, Chromium, and hundreds of enterprise teams. This 2-day hands-on training takes you from zero to productive — understanding how Gerrit's unique review model differs from pull requests, creating and iterating on changes, participating in reviews, and adopting workflows that keep commit history clean and review cycles fast.
Training Details
| Duration | 2 days (16 hours) |
| Level | Beginner |
| Delivery | In-person, Live online, Hybrid |
| Certification | N/A |
Who Is This For?
- Software developers joining a team that uses Gerrit for code review
- Engineers migrating from GitHub or GitLab pull request workflows
- DevOps engineers who need to understand Gerrit's review model for CI integration
- Tech leads evaluating Gerrit as a code review platform
- Open-source contributors to projects hosted on Gerrit (Android, Chromium, Eclipse)
Learning Outcomes
After completing this training, participants will be able to:
- Explain the difference between change-based and branch-based code review models
- Install and configure a Gerrit instance using Docker
- Create changes by pushing to refs/for/
and iterate with amended patch sets - Navigate the Gerrit web UI including the change screen, diff viewer, and dashboard
- Apply review labels (Code-Review, Verified) and understand voting rules
- Organize related changes using topics and hashtags
- Manage reviewer attention using the Attention Set mechanism
- Follow code review best practices for effective collaboration
Detailed Agenda
Day 1: Gerrit Concepts and Change Workflow
Module 1: Introduction to Gerrit and Core Concepts
- What is Gerrit and why change-based review matters
- Gerrit vs GitHub/GitLab pull request model — atomic commits vs feature branches
- Core terminology: changes, patch sets, Change-Id, refs/for, refs/meta
- The Gerrit review lifecycle: push, review, revise, submit
- Hands-on: Explore a live Gerrit instance and examine change history
Module 2: Installation and Environment Setup
- Gerrit deployment options: standalone JAR, Docker, Kubernetes
- Docker-based installation with gerritcodereview/gerrit image
- Initial configuration: gerrit.config essentials (canonicalWebUrl, sshd, httpd)
- Creating the first admin account and SSH key registration
- Hands-on: Deploy Gerrit in Docker, configure SSH access, verify connectivity
Module 3: Creating and Managing Changes
- The Change-Id commit-msg hook and how Gerrit tracks changes
- Pushing to refs/for/main — creating a new change for review
- Amending commits to create new patch sets on an existing change
- Rebasing changes and resolving conflicts
- Cherry-picking and reverting changes through the UI
- Hands-on: Create your first change, push three patch sets, rebase on updated main
Module 4: Web UI Deep Dive
- Dashboard views: outgoing reviews, incoming reviews, recently closed
- The change screen: metadata, messages, patch sets, related changes
- Side-by-side and unified diff viewer with inline commenting
- File-level and line-level comments, drafts, and resolved threads
- Keyboard shortcuts for efficient review navigation
- Hands-on: Review a peer's change using inline comments and the diff viewer
Day 2: Review Process and Best Practices
Module 5: Review Labels and Voting
- Default labels: Code-Review (-2 to +2) and Verified (-1 to +1)
- Label semantics: what each vote value means in practice
- Submit conditions: when a change is submittable
- Blocking votes and how -2 Code-Review prevents submission
- Submit types: merge-if-necessary, fast-forward-only, rebase-if-necessary, cherry-pick
- Hands-on: Simulate a full review cycle with Code-Review and Verified labels
Module 6: Topics, Hashtags, and Change Organization
- Topics for grouping cross-repository or related changes
- Submitting all changes in a topic atomically
- Hashtags for lightweight tagging and filtering
- Change chains: parent-child relationships and submission order
- Hands-on: Create a topic spanning two repositories and submit atomically
Module 7: Attention Set and Notifications
- The Attention Set model: who needs to act next
- How Gerrit automatically moves attention between author and reviewers
- Manual attention management: adding and removing participants
- Email notifications and how they relate to the Attention Set
- Configuring watched projects and notification filters
- Hands-on: Walk through an attention set lifecycle across multiple review rounds
Module 8: Review Best Practices and Capstone
- Writing reviewable changes: small, atomic, well-described commits
- Effective commit messages: subject line, body, Change-Id, Bug/Issue references
- Reviewer etiquette: constructive feedback, timely responses, blocking vs advisory votes
- Common anti-patterns: mega-changes, review fatigue, stale changes
- Integrating Gerrit into your daily development workflow
- Hands-on: Capstone exercise — complete a multi-change feature using topics, review all peer changes, submit the full set
Prerequisites
- Basic Git knowledge (clone, commit, push, branch, rebase)
- Familiarity with command-line operations
- No prior Gerrit experience required
- Docker installed on the workstation (provided in lab environments)
Delivery Formats
| Format | Description |
|---|---|
| In-Person | On-site at your company's location, hands-on with direct interaction |
| Live Online | Interactive virtual sessions with screen sharing and real-time labs |
| Hybrid | Combination of on-site and remote sessions, flexible scheduling |
All formats include hands-on labs, course materials, and post-training support.
Prerequisites
- Basic Git knowledge (clone, commit, push, branch)
- Familiarity with command-line operations
Ready to get started?
Request a training quote for your team — in-person, live-online, or hybrid.