我是否可以从CLI轻松测试某个分支是否与Team City设置中的以下分支配置相匹配?我假设这个分支配置实际上依赖于一些Git内部。
+:refs/heads/develop
+:refs/heads/xmas-lottery-hotfix-branch
+:refs/heads/hotfix*
例如,我想测试此配置是否涵盖hotfix/foo
,或者我是否需要更改它。简单地将空提交发送到各个分支并查看它是否触发TC中的构建并不容易且快速测试,尽管这也很有效...
答案 0 :(得分:0)
答案 1 :(得分:0)
上面的配置直接引用git的文件系统布局。如果您深入了解克隆仓库的.git
文件夹,您会发现一个包含多个目录和子目录的refs
文件夹。这些对应于本地(在heads
)和远程分支。它们可能还包含其他特殊分支(例如GitHub上的pulls
)。
要检查配置是否匹配一个或多个分支,您可以使用shell提供给您的常规选项(这里使用我本地Sinon回购中的Bash):
echo sinon/.git/refs/*/*zam*
sinon/.git/refs/heads/zamnuts-restore-etters-1124 sinon/.git/refs/remotes/zamnuts
这表明refs/*/*zam*
的分支说明符将匹配这两个分支(一个本地检出的pull请求和一个远程分支)。根据您的需要修改它应该很容易。