git format-patch致命:含糊不清的论点

时间:2016-01-08 10:19:16

标签: git branch patch

我有一个分支,品牌,分支来自分支v8.2.3(也是分支点上的标记)我想制作一个品牌分支的补丁,将其移动到更高版本,但是git说分支名称不明确,不会创建补丁。

我想知道这是因为版本分支名称与标签相同吗?

gitk display, git command and error

2 个答案:

答案 0 :(得分:1)

你只是一个类型。

v和8

之间有一个额外的<rewrite> <rules> <rule name="Redirect to en-US locale" stopProcessing="true"> <match url="^myurl1.com$" /> <action type="Redirect" url="http://myurl1.com/en-US" /> <conditions> <add input="{HTTP_HOST}" pattern="^myurl1.com$" /> </conditions> </rule> <rule name="Redirect to es-ES locale" stopProcessing="true"> <match url="^myurl2.com$" /> <action type="Redirect" url="http://myurl2.com/es-ES" /> <conditions> <add input="{HTTP_HOST}" pattern="^myurl2.com$" /> </conditions> </rule> </rules> </rewrite>

您在LCI中的标记名称是. white l =,您将其称为v8.2.3

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

由于你有v.8.2.3 git可以找到SHA-1所以它显示错误。

例如:查看typo的内容,您将看到内部的SHA-1,就像任何其他标签,分支等一样。

答案 1 :(得分:1)

两个问题:

  1. 您的命令包含拼写错误。根据{{​​1}}的屏幕截图,标记的名称为gitk,但您在命令中写了v8.2.3(请注意&#34; v&#34之后的额外句点;) :

    v.8.2.3

    错误消息为

      

    [...]未知修订[...]

    那应该给你一个关于错误原因的提示。

  2. 您同时拥有一个名为git format-patch v.8.2.3 --stdout > branding.patch 的分支和标记。这是有问题的,因为无论你在哪里都没有使用完全合格的&#34; Git命令中的v8.2.3引用,Git会将该引用理解为标记。如果要引用同名分支,则需要指定v8.2.3。您应该尽力为标签和分支使用不同的名称。运行

    res/heads/v8.2.3

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