git format-patch fatal: 模棱两可的参数

git format-patch fatal: ambiguous argument

我有一个分支,branding,它从分支 v8.2.3 分支(这也是分支点的标签)我想制作一个 branding 分支的补丁以将其移动到更高版本但是git 表示分支名称不明确,不会创建补丁。

不知道是不是因为版本分支名和tag一样?

你有一个类型。

你在 v 和 8

之间多了一个 .

您的标签名称是 v8.2.3 white l=在 LCI 中您将其称为 v.8.2.3

在 git 中,分支、标签、HEAD 等只是对给定提交的引用。当您使用它们中的任何一个时 git 只需转换为给定的提交并使用 SHA-1.

因为你有 typogit 可以找出 SHA-1 所以它显示错误。

例如:查看 .git/ref/head/mastar 的内容,您将看到里面的 SHA-1,就像在任何其他标签、分支等中一样。

两个问题:

  1. 您的命令包含错字。根据你gitk的截图,标签的名称是v8.2.3,但是你在命令中写了v.8.2.3(注意"v"之后的额外句点):

    git format-patch v.8.2.3 --stdout > branding.patch
    

    错误消息显示为

    [...] unknown revision [...]

    这应该已经给了您有关错误原因的提示。

  2. 您有一个分支和一个名为 v8.2.3 的标签。这是有问题的,因为如果您不在 Git 命令中使用 "fully qualified" v8.2.3 引用,Git 就会将该引用理解为标记。如果要引用同名分支,则需要改为指定 res/heads/v8.2.3。您应该努力为您的标签和分支使用不同的名称。 运行

    git branch -m v8.2.3 <new-branch-name>
    

    重命名分支,其中<new-branch-name>代表更合适的分支名称。