Я новичок в Git и GitHub, и у меня был тот же вопрос, что и у OP.
Я нашел решение, которое, вероятно, не было доступно во время OP.
Ситуация: у вас есть 3 изменения, и вы хотите, чтобы каждое было построено на основе предыдущего, и у каждого был свой запрос на вытягивание (PR).
Проблема: когда вы создаете первый PR, который пытается превратить развитие в master, все выглядит нормально, но затем после того, как вы внесете изменения для второго PR и объедините их (используя ту же ветку), все изменения находятся в одном PR. .
Мини-решение: создать новую ветку
git branch mini_change_2
git checkout mini_change_2
Теперь вы отправляете код на GitHub и создаете PR, но по умолчанию используется Pull from mini_change_2 to master, за исключением того, что master еще не имеет изменений из первого PR, поэтому он включает все изменения из PR1 и PR2.
Лучшее решение: укажите, с какой веткой вы объединяетесь в PR2.
Не просто принимайте значения по умолчанию при создании второго PR, скажем, вы собираетесь потянуть mini_chnage_2 для разработки, это покажет только изменения в mini_change_2
Теперь создайте новую ветку mini_change_3 и PR к mini_change_3.
Проблема возникает, когда вы начинаете их объединять ... но это уже другое упражнение.