git - 如何在詹金斯的主分支上运行 git diff-tree?
问题描述
我希望能够在 jenkins 构建期间查看当前分支和主分支之间哪些文件发生了更改。
在我的 jenkinsfile 中,我有以下代码。
git diff-tree -r --no-commit-id --name-only ${env.GIT_COMMIT} origin/master
但我收到以下错误
致命:模棱两可的参数“主”:未知的修订或路径不在工作树中。
任何帮助将不胜感激..如果有人能告诉我我做错了什么或设计一种替代解决方案来为我提供已更改文件的文件路径,那就太好了。
仅供参考,上述命令在本地有效,但在詹金斯中无效。
解决方案
我终于找到了解决这个问题的方法。@vonc 为我指出了正确的方向,但他提供的链接没有任何意义。
这是帮助我的链接。
您必须在项目的 jenkins 设置中添加一个 refspec。如果您使用的是 github 组织,则必须在组织设置中申请,因为您无法更改特定的 repos 设置。无论如何,这对我有用。
将此添加为参考规范。
+refs/heads/master:refs/remotes/@{remote}/master
推荐阅读
- javascript - 在 chrome 的控制台中显示 HTMLInputElement
- javascript - refreshtoken 比 accesstoken 有什么好处?
- django - 如何在 django 的不同 div 布局中使用一个 for 循环?
- html - 有没有办法通过在数据包中读取视频来播放视频?
- proguard - 使用 proguard 混淆后没有“springfox.documentation.schema.property.ModelPropertiesProvider”类型的合格 bean
- amazon-web-services - AmazonS3Exception:您提供的 XML 格式不正确
- android - 需要在没有登录 Back4app Android 的情况下更新用户对象数据
- java - Maven Sonatype Release 不起作用:JAR 将为空 - 没有内容被标记为包含
- spring - 调用具有计算值的资源的表示是 RESTFul 吗(面向 UI,特定于客户端)
- c++ - JPEG解码中的霍夫曼:什么是符号、代码和长度