Perbedaan utama antara alur kerja Gerrit dan GitHub adalah bagaimana perubahan dimodelkan.
Dalam Gerrit, setiap komit adalah perubahan yang berdiri sendiri. Meskipun Gerrit akan menunjukkan kepada Anda hubungan antara komitmen, ulasan dilakukan berdasarkan komitmen. Tim yang pandai memecah perubahan besar menjadi komit kecil dan mandiri cenderung lebih sukses dengan Gerrit. Namun, karena model Gerrit mencakup revisi berturut-turut untuk komit tertentu, ini mendorong alur kerja Git yang tidak biasa digunakan oleh banyak pengembang, seperti mengubah komit sebelumnya dan mendorongnya kembali, atau memecah set komit yang tumbuh dari cabang topik menjadi satu. melakukan.
Di Github, permintaan tarik memodelkan hubungan antara dua cabang. Alur kerja yang diharapkan pada Github adalah untuk melakukan satu atau lebih perubahan ke cabang topik (sering dalam cabang repositori, tetapi tidak harus) dan membuat permintaan tarik antara cabang itu dan cabang "hulu". Dalam hal ini, apa yang sedang ditinjau adalah serangkaian komitmen yang terus tumbuh seiring peninjauan berlanjut. Hasilnya adalah serangkaian perubahan yang kemudian dapat digabungkan secara atom ketika mereka selesai. Permintaan tarikan dapat efektif dalam melacak perubahan dengan cakupan yang lebih besar yang dapat diterapkan pada banyak komitmen. Permintaan penarikan juga mendukung alur kerja SCM yang biasa digunakan oleh banyak pengembang, seperti menanggapi komentar ulasan dengan mengirimkan komitmen tindak lanjut di cabang yang sama.
Keuntungan besar dalam mendukung Github adalah jumlah pengembang yang akrab dengannya dibandingkan dengan Gerrit. Gerrit dapat menjadi populer dengan pengguna daya Git, tetapi penggunaan bebas gesekan membutuhkan pengetahuan git menengah atau lanjutan, dan toleransi kurva pembelajaran yang curam.
Keuntungan Gerrit adalah hubungan yang lebih dalam dengan Git. Permintaan Tarik Github cukup jauh dihapus dari model data standar Git sehingga seseorang harus menggunakan UI web Github atau API miliknya untuk membuat permintaan tarik. Antarmuka Gerrit untuk membuat dan memperbarui perubahan adalah protokol git itu sendiri.