如何在两个标签之间创建补丁并在它们之间进行多次提交?

Ris*_*shi 44 git patch

我的git在同一个分支中有两个标签.它们之间至少有5-6个提交.如何在两个标签之间创建一个补丁,以便它可以应用于GitHub存储库?

faj*_*ran 62

您可以使用以下方法在两个标记之间创建单个差异(补丁)

$ git diff tag1 tag2 -- > the-patch.diff
Run Code Online (Sandbox Code Playgroud)

替换tag1tag2您想要的标签.

  • 你可以使用`git rebase`将这些提交压缩成一个提交.在进行了一次提交之后,可以使用`git format-patch`来创建它的补丁文件. (2认同)

Pat*_*nan 42

您可以使用该--stdout选项并将输出定向到文件,为多个提交创建单个修补程序:

git checkout tag2
git format-patch tag1 --stdout > patch1to2.patch
Run Code Online (Sandbox Code Playgroud)

  • 这很好用,但您必须注意,它实际上在输出文件中一个接一个地添加补丁(以保留提交等...),它不会在两个版本之间生成单个差异。 (2认同)