Gerrit'in ve GitHub'un iş akışları arasındaki en büyük fark, değişikliklerin nasıl modellendiğidir.
Gerrit'te her taahhüt kendi başına duran bir değişikliktir. Gerrit size taahhütler arasındaki ilişkileri gösterecek olsa da, değerlendirmeler her bir işlem bazında gerçekleştirilir. Büyük değişiklikleri küçük, kendi kendine yeten taahhütlere ayırmada iyi olan takımların Gerrit ile daha başarılı olmaları muhtemel. Bununla birlikte, Gerrit'in modeli belirli bir taahhüdün ardışık revizyonlarını içerdiğinden, daha önceki bir taahhüdün değiştirilmesi ve yeniden itilmesi ya da bir konu dalından büyüyen bir komisyon kümesinin tek bir parçaya sıkıştırılması gibi birçok geliştiricinin alışık olmadığı Git iş akışlarını teşvik eder. taahhüt.
Github'da bir çekme isteği, iki dal arasındaki ilişkiyi modellemektedir. Github'da beklenen iş akışı, bir konu dalında (genellikle havuzun bir çatalında, ancak zorunlu değil) bir veya daha fazla değişiklik yapmak ve bu dal ile "yukarı akış" dalı arasında bir çekme isteği oluşturmaktır. Bu durumda, gözden geçirilmekte olan, inceleme devam ettikçe büyümeye devam eden bir dizi komisyondur. Sonuç, tamamlandığında atomik olarak birleştirilebilecek bir dizi değişikliktir. Çekme istekleri, değişiklikleri birden fazla komisyona uygulanabilecek daha geniş kapsamlı bir kapsamda izlemede etkili olabilir. Çekme istekleri, daha fazla geliştiricinin alışkın olduğu SCM iş akışlarını da destekler; örneğin, aynı daldaki bir takip taahhüdünü göndererek inceleme yorumuna cevap vermek gibi.
Github'un lehine büyük bir avantaj, Gerrit'e kıyasla aşina olan geliştiricilerin sayısıdır. Gerrit, Git uzmanı kullanıcılar arasında popüler olabilir, ancak sürtünmesiz kullanımı orta veya ileri düzeyde git bilgisi ve dik bir öğrenme eğrisinin toleransı gerektirir.
Gerrit'in avantajı Git ile daha derin bir ilişki. Github Pull İstekleri, Git isteklerinin çekme istekleri oluşturmak için Github'ın web kullanıcı arayüzünü veya kendi özel API'sini kullanması gereken Git veri standart veri modelinden yeterince kaldırılmıştır. Gerrit'in değişiklikleri oluşturma ve güncelleme arayüzü git protokolünün kendisidir.