hsadik, если сливать Pull Request методом squash and merge, то останется только один коммит с финальным состояние супа. Информация о том, кто посолил, а кто поперчил, будет утеряна.
Андрей, вы правильно мыслите.
Первая ветка для отслеживания продукта от разработчика.
Вторая ветка с вашими доработками начинается всегда от вершины первой.
Когда вам присылают обновление, вы переключаетесь в первую ветку и отслеживаете там изменения в виде коммита.
Затем вашу ветку с доработками пересаживаете поверх обновлённой главной ветки через rebase
Мы так обновляли у себя ИРБИС64. Там разработчики вообще не пользуются никакими VCS и пишут на Delphi5 до сих пор, а я с помощью гита находил в итоге косяки в их обновах.