git - 运行表单 sh 脚本(groovy)时所有 git 命令的抛出错误?
问题描述
我正在尝试获取标记的提交哈希。从终端命令工作正常:
但是当我像这样从 sh 脚本运行相同的命令时:
tagged_commit = sh(returnStdout: true, script: """
git rev-list -1 v1
""")
它向我展示了这个错误。
我已经尝试了此链接上列出的所有命令: 如何判断标记在 Git 中指向哪个提交?
对于所有这些命令,它都显示相同的错误。
注意:我正在尝试从 groovy 中使用它。
解决方案
这是 Jenkins 问题,不是 Git 问题,也不是 groovy 问题。当 Jenkins 克隆 Git 存储库时,它通常使用浅层和/或单分支克隆,省略了很多名称,包括v1
. 这样的克隆必须扩展为一个完整的——或者至少是不那么浅的——克隆,或者最初作为一个完整的克隆。
我使用过但从未实际管理过Jenkins,而且我可以在 Jenkins 上找到的文档总是严重不足,所以我不知道如何控制初始克隆。如有必要,请参阅有关如何将浅克隆转换为完整克隆的现有 SO 帖子。
推荐阅读
- javascript - 为输入文本示例 00.00 为睫毛膏创建管道
- html - 两个 div 可以并排站立,不限制第一个 div 的宽度
- ios - 以编程方式将 NavigationController 添加到基于 TabBar 的应用程序
- php - 是否可以制作具有最大高度的 TCPDF 元素?
- php - 使用 php 自定义 MVC 框架
- html - 处理子像素时的 Chrome 线性渐变错误
- javascript - 无法访问通过innerHTML指令创建的模板,Angular 4
- dynamic - 图像未在 vue.js 中加载
- php - PHP文件传输错误3
- python - 在 python 中附加表(不同的行号)用于可视化目的