Подтвердить что ты не робот

Git - генерировать патч для всех коммитов в ветки

Как я могу создать патч для всех коммитов в данной ветки, зная только имя ветки?

Этот шаг является частью сложного рабочего процесса, все из которого автоматизировано. Следовательно, требование о том, чтобы кто-то вручную определял, что первая фиксация в ветке не является опцией.

Обратите внимание, что все, что полагается на reflog, не является вариантом, потому что изменения в ветке не выполняются локально.

4b9b3361

Ответ 1

Если вы знаете, из какой ветки ваша "данная ветка" была создана, сделать патч легко:

git diff master Branch1 > ../patchfile
git checkout Branch2    
git apply ../patchfile

(и вы можете сгенерировать патч применительно без git)

Но поиск правильной "фиксации создания" ветки может быть сложным: см. "Поиск точки ветвления с помощью Git?"

OP akirekadu:

git format-patch $(git merge-base --fork-point master)..branchB 

Вы можете видеть, что оно используется в git diff между рабочей копией и базой ветвей