ГИТ - создать патч для всех коммитов в ветке

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

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

обратите внимание, что все, что полагается на reflog, не является опцией, потому что изменения в ветке не производятся локально.

1 ответов


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

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

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

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

на ОП akirekadu используется:

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

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