gpt4 book ai didi

git - 如何在Azure DevOps中获取带有斜线的分支名称?

转载 作者:行者123 更新时间:2023-12-03 13:45:44 26 4
gpt4 key购买 nike

Azure Devops 提供了两个包含有关当前 git 分支名称信息的变量:$(Build.SourceBranchName)$(Build.SourceBranch)

虽然 SourceBranch 包含对分支的完整引用,但 SourceBranchName 预计仅包含简短的分支名称。

不幸的是,当分支名称包含斜杠(/)时,行为有点意外:

+---------------------------------------------------------------------------------------------------------+
| Situation | Git branch name | Build.SourceBranch | Build.SourceBranchName |
|---------------------------------------------------------------------------------------------------------|
| branch name contains no slash | mybranch | refs/heads/mybranch | mybranch |
| branch name contains slash | release/mybranch | refs/heads/release/mybranch | mybranch |
+---------------------------------------------------------------------------------------------------------+

分支名称中斜杠之前的部分不被视为分支名称的一部分。我的同事指出,这是documented behavior of Azure Devops :

Git repo branch or pull request: The last path segment in the ref. For example, in refs/heads/master this value is master. In refs/heads/feature/tools this value is tools.

我不确定此行为是否特别有用:我想 checkout 分支,并且需要分支名称​​包含斜杠。另外,如果斜杠之前的部分被删除,则实际路径很可能会产生混淆,因为名称可能不明确。

我需要分支名称​​包括斜杠。有没有什么简单的方法可以得到呢?为了安全起见,我是否总是必须与完整的裁判一起工作?

最佳答案

用这个兄弟

variables:
BRANCH_NAME: $[replace(variables['Build.SourceBranch'], 'refs/heads/', '')]

像这样使用(编辑错字)

$(BRANCH_NAME)

关于git - 如何在Azure DevOps中获取带有斜线的分支名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59956206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com