詹金斯作业分支说明符中的主和引用/头/主有什么区别



他们使用 <branch>作为作业的分支指定抑制,并建议使用 refs/heads/<branch>

如果您想跟踪存储库中的特定分支,请指定分支。如果留空白,将检查所有分支的更改并构建。

最安全的方法是使用refs/heads/<branchName>语法。这样,预期的分支是明确的。

如果您的分支名称中有一个/,请确保使用上面的完整参考。如果不提供完整的路径,插件只会使用最后一个斜线的字符串部分。表示foo/bar实际上将与bar匹配。

如果使用斜线(例如Release/)的通配符分支指定符,则需要在分支名称中指定原始存储库,以确保拾取更改。所以例如来源/释放/

可能的选项:

  • <branchName>
    跟踪/检查指定的分支。如果取得模棱两可的第一个结果,那不一定是预期的结果。更好地使用
    refs/heads/<branchBame>
    例如。主人,feature1`,...
  • refs/heads/<branchName>
    跟踪/检查指定的分支。
    例如。refs/heads/masterrefs/heads/featurel/master,...

...

这里可能会发生什么歧义,以及refs/heads的前缀如何有所帮助?

仅由字母a-f和数字0-9组成的分支名称可以与提交哈希相冲突,从而导致歧义。

您也可能具有与分支相同名称的标签。

这是詹金斯问题,而不是git问题。1615903的答案是针对密切相关的git问题。

您引用的文档阐明了原因:

不提供完整路径时,插件只会使用最后一个斜线的字符串部分。意思是foo/bar实际上匹配bar

最新更新