Sự khác biệt chính giữa quy trình công việc của Gerrit và GitHub là cách các thay đổi được mô hình hóa.
Trong Gerrit, mỗi cam kết là một thay đổi tự đứng vững. Mặc dù Gerrit sẽ cho bạn thấy các mối quan hệ giữa các lần xác nhận, các đánh giá được thực hiện trên cơ sở mỗi cam kết. Các nhóm giỏi phá vỡ các thay đổi lớn thành các cam kết nhỏ, khép kín có thể sẽ có nhiều thành công hơn với Gerrit. Tuy nhiên, vì mô hình của Gerrit bao gồm các phiên bản kế tiếp cho một cam kết cụ thể, nó khuyến khích các quy trình công việc của Git mà nhiều nhà phát triển không quen, chẳng hạn như sửa đổi một cam kết trước đó và đẩy lại nó, hoặc xóa một loạt các cam kết đang phát triển từ một nhánh chủ đề thành một cam kết.
Trong Github, một yêu cầu kéo mô hình mối quan hệ giữa hai nhánh. Quy trình công việc dự kiến trên Github là cam kết một hoặc nhiều thay đổi trong một nhánh chủ đề (thường là trong một nhánh của kho lưu trữ, nhưng không nhất thiết) và tạo một yêu cầu kéo giữa nhánh đó và nhánh "ngược dòng". Trong trường hợp này, những gì đang được xem xét là một tập hợp các cam kết tiếp tục phát triển khi đánh giá tiếp tục. Kết quả là một tập hợp các thay đổi sau đó có thể được hợp nhất về nguyên tử khi chúng hoàn tất. Yêu cầu kéo có thể có hiệu quả trong việc theo dõi các thay đổi với phạm vi lớn hơn có thể được thực hiện qua nhiều lần xác nhận. Các yêu cầu kéo cũng hỗ trợ các quy trình công việc SCM mà nhiều nhà phát triển đã quen với, chẳng hạn như trả lời nhận xét đánh giá bằng cách gửi cam kết tiếp theo trong cùng chi nhánh.
Một lợi thế lớn có lợi cho Github là số lượng nhà phát triển quen thuộc với nó so với Gerrit. Gerrit có thể phổ biến với những người sử dụng năng lượng Git, nhưng việc sử dụng nó không có ma sát đòi hỏi kiến thức git trung cấp hoặc nâng cao và khả năng chịu đựng một đường cong học tập dốc.
Lợi thế của Gerrit là mối quan hệ sâu sắc hơn với Git. Yêu cầu kéo của Github đã bị xóa đủ xa khỏi mô hình dữ liệu tiêu chuẩn của Git mà người ta phải sử dụng giao diện người dùng web của Github hoặc API độc quyền của nó để tạo yêu cầu kéo. Giao diện của Gerrit để tạo và cập nhật các thay đổi là chính giao thức git.