问题:jenkins作业分支说明符中master和refs/heads/master有什么区别

他们不鼓励使用<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对此有何帮助?

解答

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

您还可能有一个与分支同名的标签。

Logo

CI/CD社区为您提供最前沿的新闻资讯和知识内容

更多推荐