他们不鼓励使用<branch>
作为工作的分支说明者,并建议使用refs/heads/<branch>
:
如果您要跟踪存储库中的特定分支,请指定分支。如果留空,将检查所有分支并进行更改。
最安全的方法是使用
refs/heads/<branchName>
语法。这样,预期的分支是明确的。如果您的分支名称中包含
/
,请确保使用上面的完整引用。如果未提供完整路径,则插件将仅使用最后一个斜杠右边的字符串部分。意思是foo/bar
实际上会匹配bar。如果您使用带斜杠(例如release /)的通配符分支说明符,则需要在分支名称中指定原始存储库,以确保选择的内容被选中。所以例如起源/发行/
可能的选项:
<branchName>
跟踪/签出指定的分支。如果模棱两可,则采用第一个结果,不一定是预期的结果。更好地使用
refs/heads/<branchBame>
。
例如。大师,feature1`,...
refs/heads/<branchName>
跟踪/签出指定的分支。
例如。refs/heads/master
,refs/heads/featurel/master
,...
...
在这里可能会发生什么歧义,并以refs/heads
为前缀对此有何帮助?
答案 0 :(得分:2)
仅由字母a-f和数字0-9组成的分支名称可能与提交哈希冲突,从而导致模棱两可。
您可能还具有与分支同名的标签。
答案 1 :(得分:1)
这特别是詹金斯问题,而不是Git问题。 1615903's answer是与Git问题密切相关的。
您引用的文档阐明了原因:
当未提供完整路径时,插件将仅使用最后一个斜杠右边的字符串部分。意味着
foo/bar
实际上将与bar
相匹配。