Разница между моделью вилки и вытягивания и модели общего хранилища может быть объяснена Github.com: (https://help.github.com/articles/about-collaborative-development-models/)
О моделях совместной разработки Способ использования запросов на извлечение зависит от типа модели разработки, который вы используете в своем проекте.
Существует два основных типа моделей разработки, с которыми вы будете использовать запросы на извлечение.Модель pull, любой может разветвить существующий репозиторий и отправить изменения в свой персональный форк без необходимости доступа к исходному репозиторию. Изменения могут быть перенесены в исходный репозиторий сопровождающим проекта. Когда вы открываете запрос на извлечение, предлагающий изменения из ветки вашего форкаВ ответ на ветвь в исходном (восходящем) хранилище вы можете разрешить любому пользователю с принудительным доступом к вышестоящему хранилищу вносить изменения в ваш запрос на извлечение.Эта модель популярна в проектах с открытым исходным кодом, поскольку она уменьшает количество трений для новых участников и позволяетлюди на работу индепбез предварительной координации.
В модели общего хранилища соавторам предоставляется push-доступ к одному общему хранилищу, а ветки тем создаются, когда необходимо внести изменения.Запросы на извлечение полезны в этой модели, поскольку они инициируют проверку кода и общее обсуждение набора изменений, прежде чем изменения будут объединены с основной веткой разработки.Эта модель более распространена в небольших группах и организациях, сотрудничающих в частных проектах.