In einem Team sollte es einen geben, der den Source verwaltet.
Alle anderen erstellen nur einen Pull-Request der dann von dem einen geprüft und erst dann in das Haupt-Repository eingecheckt wird.
Bei Open Source vielleicht. Bei Ralf Kaiser handelt es sich wohl eher um ein Team. Da ist die Arbeit mit pull-Request wohl eher Steinzeit. Stand der Dinge ist wohl, dass Änderungen in einem Branch commited und gepushed werden. Wenn man in "master" will wird das markeirt und dann laufen auf der CI (bei Ralf Kaiser der Jenkins) durch macht builds,
unit-tests, UI-Tests und erst wenn alls ok ist darf man in master.