Kod incelemeleri yapıyorsanız, "resmi" kodu içeren merkezi bir havuzunuz olduğunu varsayacağım. Geliştiriciler bu merkezi depoya girer ve onu zorlar.
Gerrit'i kullandığınızda , Gerrit'in kendisi merkezi bir depo haline gelir (kullanıcıların, temelde olduğu gibi etkileşime girmesini sağlayan yerleşik SSH ve HTTP sunucularına sahiptir). Gerrit kullanırken, iş akışı şu şekilde olur:
- Geliştirici hangi şube üzerinde değişiklik yaparsa, yerel olarak taahhüt eder.
- Geliştirici bu değişiklikleri Gerrit'e doğru iter.
- Gerrit başkalarının incelemesi için inceleme maddeleri oluşturur.
- Akranlar kodu gözden geçirir, yorum yapar ve taahhüdü kabul eder veya reddeder.
- Kabul taahhüt zaman sonra Gerrit diğerleri şubesinden çekmeye için olanlar kullanılabilir değişiklikleri yapar.
Merkezi bir depo kullanırken, diğer geliştiriciler 2. adımdan sonra gönderilen değişiklikleri görebilirler. Gerrit kod inceleme iş akışını tanıtır ve diğer geliştiriciler yalnızca 5. adımdan sonra gönderilen değişiklikleri görür.
Bu, git-flow (veya başka bir dallanma şeması) ile iyi çalışır çünkü Gerrit herhangi bir dalda yapılan değişiklikleri incelemeyi destekler.