Ответ 1
Если вы знаете, из какой ветки ваша "данная ветка" была создана, сделать патч легко:
git diff master Branch1 > ../patchfile
git checkout Branch2
git apply ../patchfile
(и вы можете сгенерировать патч применительно без git)
Но поиск правильной "фиксации создания" ветки может быть сложным: см. "Поиск точки ветвления с помощью Git?"
git format-patch $(git merge-base --fork-point master)..branchB
Вы можете видеть, что оно используется в git diff
между рабочей копией и базой ветвей