我正在使用Jenkins Git插件(v2.0)的分支说明符选项在特定的分支上运行构建,例如,<代码>1.4 。
${GIT_BRANCH}
在这种情况下包含源/1.4
值。
如何接收用于克隆的本地Git分支的名称(即只有1.4
没有源/
前缀?
我尝试了使用分支名称查看特定本地分支的其他行为,但没有任何改变。
我在GitHub上看到过相关的PR,但被拒绝了(因为它只修复了一个只有源
远程的情况)。
截至2016年3月(Git插件v2.4.3),这项功能现在已经在本机上得到支持。只需在Git插件中将签出到特定本地分支的值(而不是任何宏/变量)设为“**
”。
该字段的描述详细说明了新行为:
如果选中此选项,且其值为空字符串或“**”,则将从远程分支计算分支名称,而不带原点。在这种情况下,远程分支原点/主功能将签出到名为master的本地分支,远程分支原点/开发/新功能将签出到名为develope/newfeature的本地分支。
这是由@roostergx介绍的
我通过几个步骤做到了这一点:
>
使用以下步骤添加执行shell:
<代码>git\u branch\u local=$(echo$git\u branch | sed-e“s | origin/| | g”)echo git\u branch\u local=$git\u branch\u local
为构建添加一个注入环境变量的预步骤。属性文件
然后您应该有一个没有原点的GIT\u BRANCH\u LOCAL环境变量
您可以很容易地从变量中删除前缀:${GIT_BRANCH##源/}
虽然这不是一个非常通用的解决方案,但它非常简单,我还没有看到Jenkins克隆的存储库,它会使用源
以外的其他东西作为远程名称。
更新:实际上,${GIT\u BRANCH#*/}
将适用于任何源代码,甚至适用于包含斜杠的分支。执行非贪婪全局匹配,启用贪婪匹配。有关详细信息,请参阅Bash参考手册。
我有四个分支,如master->origin/regacy,FeatureA->origin/FeatureA。如你所见,我打错了名字。 因此我想重命名一个远程分支名称(origin/regacy origin/legacy或origin/master) 但Git console向我返回了一条错误消息。 我该如何解决这个问题呢?
我不想重命名远程分支,如重命名本地和远程Git存储库的主分支中所述。 如何重命名尚未推送到远程分支的本地分支? 如果您还需要重命名远程分支:如何重命名Git本地和远程分支名称
我需要我部署插件的项目的当前分支名称,所以插件的groovy类中当前分支名称的代码是这样的, 但是由于某种原因,当使用詹金斯在云上部署项目时,这个函数返回HEAD,而不是我试图部署的项目的当前分支。 我尝试了很多不同的场景,但没有成功,我如何确保我使用的插件获取正在进行部署的项目的当前分支。
所以问题是:git分支名称中的最大字符数是多少?它取决于系统吗?是否可以在远程存储库(即Github)上拒绝的存储库中创建长分支名?
我在进行git克隆时遇到此错误 错误:- 尝试重新安装git(最新) 还是相同的错误 操作系统:-Windows
我有一个Jenkins管道工作,它被配置为检查一个git回购和一个特定的本地分支。 两个值都为“null”