将'master'和'refs/heads/master'视为TeamCity中的同一分支

dab*_*oss 17 git teamcity github teamcity-8.0

使用github和teamcity,构建似乎是refs/heads/mastermaster分支.

只要github服务挂钩启动构建,它就在分支上master.

每当TeamCity启动构建时(例如,当我开始构建或依赖构建触发构建时)分支就是refs/heads/master.

这会导致两个构建号显示在同一页面上,最后一个构建master和最后一个构建refs/heads/master.

有没有办法让TeamCity触发构建master而不是refs/heads/master

或者有没有办法获得masterrefs/heads/master被视为同一个分支,而不是不同的分支?

dab*_*oss 19

我想我找到了一个解决方案,虽然它不理想,因为我不得不删除所有传递的构建.

我必须首先复制项目并删除旧项目以摆脱已运行的所有构建.

然后我将默认分支配置为master.我将其他分支规范设置为:

+:(master)
+:refs/heads/(master)
Run Code Online (Sandbox Code Playgroud)

另外,我更新了VSC触发器来监听+:master而不是+:*.

然后我通过手动触发构建进行测试,并使用github测试钩子触发构建.它似乎有效,它们都归为一类master!

  • 没有`+ :( master)`它工作得很好.我将默认分支设置为`master`并将`+:refs/heads /(master)`添加到其他分支规范中.(TeamCity 8.1.5) (5认同)
  • 这个答案真的很有帮助。我想补充一点,你可以像这样添加格式:`+:refs/heads/(release/*)` 这样在 TC 中你会看到 `release/1.0` (2认同)
  • JetBrains解释为什么这是必要的解释在这里:https://youtrack.jetbrains.com/issue/TW-51478 - 我觉得这值得一些更明确的文件虽然...... (2认同)