La principal diferencia entre los flujos de trabajo de Gerrit y GitHub es cómo se modelan los cambios.
En Gerrit, cada compromiso es un cambio que se sostiene por sí solo. Aunque Gerrit le mostrará las relaciones entre los compromisos, las revisiones se realizan por cada compromiso. Los equipos que son buenos para dividir grandes cambios en pequeños compromisos autocontenidos probablemente tendrán más éxito con Gerrit. Sin embargo, dado que el modelo de Gerrit incluye revisiones sucesivas de un compromiso en particular, alienta a los flujos de trabajo de Git a los que muchos desarrolladores no están acostumbrados, como modificar un compromiso anterior y volver a presionarlo, o aplastar un conjunto creciente de compromisos de una rama temática en uno solo cometer.
En Github, una solicitud de extracción modela una relación entre dos ramas. El flujo de trabajo esperado en Github es confirmar uno o más cambios en una rama de tema (a menudo en una bifurcación del repositorio, pero no necesariamente) y crear una solicitud de extracción entre esa rama y la rama "ascendente". En este caso, lo que se está revisando es un conjunto de confirmaciones que continúa creciendo a medida que la revisión continúa. El resultado es un conjunto de cambios que luego se pueden combinar de forma atómica cuando están completos. Las solicitudes de extracción pueden ser efectivas para rastrear cambios con un alcance mayor que puede implementarse en múltiples confirmaciones. Las solicitudes de extracción también admiten flujos de trabajo de SCM a los que están acostumbrados más desarrolladores, como responder a un comentario de revisión enviando una confirmación de seguimiento en la misma rama.
Una gran ventaja a favor de Github es la cantidad de desarrolladores que están familiarizados con ella en comparación con Gerrit. Gerrit puede ser popular entre los usuarios avanzados de Git, pero su uso sin fricción requiere un conocimiento intermedio o avanzado de Git, y la tolerancia de una curva de aprendizaje empinada.
La ventaja de Gerrit es una relación más profunda con Git. Las solicitudes de extracción de Github están lo suficientemente alejadas del modelo de datos estándar de Git, por lo que se debe usar la interfaz de usuario web de Github o su API propietaria para crear solicitudes de extracción. La interfaz de Gerrit para crear y actualizar cambios es el propio protocolo git.