aki*_*adu 44 git git-patch git-branch
如何只知道分支名称,如何为给定分支中的所有提交生成补丁?
此步骤是复杂工作流程的一部分,所有这些工作流程都是自动化的.因此,要求某人手动确定分支中的第一次提交不是一种选择.
请注意,依赖于reflog的任何内容都不是一个选项,因为分支中的更改不是在本地进行的.
Von*_*onC 54
如果你知道你的"给定分支"是从哪个分支创建的,那么制作补丁很容易:
git diff master Branch1 > ../patchfile
git checkout Branch2
git apply ../patchfile
Run Code Online (Sandbox Code Playgroud)
但是找到分支的正确"创建提交"可能很复杂:请参阅" 使用Git查找分支点? "
该OP akirekadu使用:
git format-patch $(git merge-base --fork-point master)..branchB
Run Code Online (Sandbox Code Playgroud)
你可以看到它使用在" git diff工作副本和分支基地之间 "
小智 7
如果您已经提交并推送了更改,那么您现在想要创建补丁文件。
即使您在该分支中有多个提交,这也会在 1 个文件中创建一个补丁
第 1 步:检查您想要补丁的分支,就像任何功能/错误分支一样
:git checkout <branch>
第2步:现在这将为所有与主分支和您的签出分支(即您已签出的上述分支)的提交差异创建一个补丁。
git format-patch master --stdout > mypatch.patch
| 归档时间: |
|
| 查看次数: |
23438 次 |
| 最近记录: |