Java Jenkins通过执行;git签出-f修订版;,如何禁用此行为?

Java Jenkins通过执行;git签出-f修订版;,如何禁用此行为?,java,git,jenkins,Java,Git,Jenkins,今天我得到了新的buildConfig,有了这个问题的帮助: 问题是,当我在jenkins克隆存储库上运行命令行'git'、'rev parse'、'--abbrev ref'、'HEAD',jenkins在其中执行git checkout-f,构建以异常的方式中断: buildConfigField“String”、“BUILD\u BRANCH”、getBranchName()。toString()被设置为HEAD(甚至不是“HEAD”),因此我得到: 错误:找不到符号 公共静态最终字符串

今天我得到了新的buildConfig,有了这个问题的帮助:

问题是,当我在jenkins克隆存储库上运行命令行'git'、'rev parse'、'--abbrev ref'、'HEAD',jenkins在其中执行git checkout-f,构建以异常的方式中断:
buildConfigField“String”、“BUILD\u BRANCH”、getBranchName()。toString()
被设置为
HEAD
(甚至不是
“HEAD”
),因此我得到:
错误:找不到符号
公共静态最终字符串BUILD_BRANCH=头

我试着用谷歌搜索这个问题,但什么也没找到。如何禁用对Jenkins的精确修订的附加签出?可能吗

另外,我很高兴知道詹金斯为什么这么做


当然,这可以通过在每个分支中使用单独的
build.gradle
来解决,但出于某种原因,我希望避免这样做

需要注意的是,您可以将其修改为
buildConfigField“String”、“BUILD_BRANCH”、“+getBranchName()+”
。通过添加双引号并删除
toString()
,因为它是一个字符串alreadyStanislav,奇怪的是。。即使在git checkout-f之后,也可以按预期在本地机器上构建;在本例中,常量是“HEAD”,但jenkins(或我没有发现jenkins会做的事情)打破了这一点,构建运行w/remove“。然而,这与您最初建议的在每个分支中使用不同的build.gradle是固定的,这很清楚,也很好。请注意,您可以将其修改为
buildConfigField”通过添加双引号并删除
toString()
,由于它是一个字符串,奇怪的是..在我的本地机器上构建即使在git签出-f之后也能按预期工作;在本例中,常量是“HEAD”,但jenkins(或者我没有发现jenkins会做的事情)打破了这一点,构建运行w/removed“'s。然而,这是固定的,您最初的建议是在每个分支中使用不同的build.gradle,这已经足够清晰和精细了。