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 compromiso. Es probable que los equipos que son buenos para dividir los grandes cambios en pequeños compromisos independientes tengan más éxito con Gerrit. Sin embargo, dado que el modelo de Gerrit incluye revisiones sucesivas a un compromiso particular, alienta los flujos de trabajo de Git a los que muchos desarrolladores no están acostumbrados, como enmendar un compromiso anterior y volver a empujarlo, o aplastar un conjunto creciente de compromisos de una rama de tema en un 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 compromisos que continúa creciendo a medida que continúa la revisión. El resultado es un conjunto de cambios que luego pueden fusionarse atómicamente 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 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 él en comparación con Gerrit. Gerrit puede ser popular entre los usuarios avanzados de Git, pero su uso sin fricción requiere un conocimiento de git intermedio o avanzado, 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 que uno debe usar la interfaz de usuario web de Github o su API patentada para crear solicitudes de extracción. La interfaz de Gerrit para crear y actualizar cambios es el protocolo git en sí.