Вы можете создать ветку, основанную на узле фиксации, который вы хотите объединить, чтобы репо P. Затем создайте pr, чтобы слить эту ветку в репо P. Так же, как метод cherry-pick, о котором вы думаете. Но недостатком этого подхода является то, что вы не можете указать одно изменение для слияния. Узел фиксации, который создает ветку, будет содержать предыдущие изменения.
Кроме того, две вилки имеют определенные различия, о которых вы точно не знаете, что также может вызвать конфликт слияния.