A principal diferença entre os fluxos de trabalho do Gerrit e do GitHub é como as mudanças são modeladas.
No Gerrit, todo commit é uma mudança independente. Embora a Gerrit mostre as relações entre as confirmações, as revisões são realizadas por confirmação. As equipes que são boas em dividir grandes alterações em pequenas confirmações independentes provavelmente terão mais sucesso com a Gerrit. No entanto, como o modelo da Gerrit inclui revisões sucessivas de um commit específico, ele incentiva os fluxos de trabalho do Git aos quais muitos desenvolvedores não estão acostumados, como alterar um commit anterior e pressioná-lo novamente ou compactar um conjunto crescente de commits de uma ramificação de tópico em um único cometer, entregar.
No Github, uma solicitação pull modela um relacionamento entre duas ramificações. O fluxo de trabalho esperado no Github é confirmar uma ou mais alterações em uma ramificação de tópico (geralmente em uma bifurcação do repositório, mas não necessariamente) e criar uma solicitação de recebimento entre essa ramificação e a ramificação "upstream". Nesse caso, o que está sendo revisado é um conjunto de confirmações que continua a crescer à medida que a revisão continua. O resultado é um conjunto de alterações que podem ser mescladas atomicamente quando concluídas. As solicitações pull podem ser eficazes no rastreamento de alterações com um escopo maior que pode ser implementado em várias confirmações. As solicitações pull também suportam fluxos de trabalho do SCM aos quais mais desenvolvedores estão acostumados, como responder a um comentário de revisão enviando uma confirmação de acompanhamento na mesma ramificação.
Uma grande vantagem a favor do Github é o número de desenvolvedores familiarizados com ele em comparação com o Gerrit. O Gerrit pode ser popular entre os usuários avançados do Git, mas o uso sem atrito requer conhecimento intermediário ou avançado do git e tolerância a uma curva de aprendizado acentuada.
A vantagem de Gerrit é um relacionamento mais profundo com o Git. As solicitações pull do Github estão suficientemente afastadas do modelo de dados padrão do Git para que seja necessário usar a UI da web do Github ou sua API proprietária para criar solicitações pull. A interface da Gerrit para criar e atualizar alterações é o próprio protocolo git.