Почему бы не отправлять запросы и обрабатывать их?Это то, что они делают с ядром linux.
Основная проблема с общедоступной веткой разработчиков - получение ненужных вещей из ветки.Вы не хотите перебазировать опубликованную общую ветку, и возвращаться все время ужасно.Основная проблема с обычными исправлениями заключается в том, что SHA не совпадает между отправителем и получателем для одного и того же исправления (по уважительным причинам).Если бы я разрабатывал почтовую систему с патчами, я бы подумал об использовании git-bundles для получения точных SHA.Обратите внимание, что это сложный способ сделать тягу.
Другой вариант - это использовать gitolite (для обеспечения того, кому разрешено или не разрешено фиксировать в общих ветвях) и заставить разработчиков работать над ветвями «Feature» (см.http://nvie.com/posts/a-successful-git-branching-model/ и связанной с ним командой gitflow) и только разрешить доверенному разработчику выполнять слияние из ветви функций в ветку dev / master.
Вы также можете ознакомиться с рабочими процессами проверки кода gerrit и других git.