【问题标题】:Inside jenkinsfile how to get GIT difference between master branch and feature branch在 jenkinsfile 内部如何获取主分支和功能分支之间的 GIT 差异
【发布时间】:2019-07-15 01:17:56
【问题描述】:

我正在尝试获取 master 和 feature 分支之间的 git 差异,但使用下面提到的命令得到错误“找不到命令”:

COMMIT_CHANGE_SET = sh(returnStdout: true, script: 'git diff --name-only origin/master...$current_branch').trim()

因为,我可以使用下面提到的命令获取最后一次提交更改。

COMMIT_CHANGE_SET = sh(returnStdout: true, script: 'git diff-tree --no-commit-id --name-only -r HEAD').trim()

Jenkins 管道 git 语法命令获取差异 master 和 feature 分支

【问题讨论】:

    标签: jenkins github jenkins-pipeline


    【解决方案1】:

    将下面代码中的'替换为":

    COMMIT_CHANGE_SET = sh(returnStdout: true, script: "git diff --name-only $current_branch origin/master").trim()
    

    问题是你必须使用" 才能传递参数。

    【讨论】:

    • 我在 " " 中尝试了命令,但出现错误:ERROR: ' [Pipeline] sh + git diff --name-only origin/master...DRG-111 fatal: ambiguous argument 'origin/ master...DRG-111':未知的修订版或路径不在工作树中。使用 '--' 将路径与修订分开,如下所示: 'git [...] -- [...]' [Pipeline] } '
    • COMMIT_CHANGE_SET = sh(returnStdout: true, script: "git diff --name-only $current_branch origin/master").trim()
    • 更新后的代码仍然出现同样的错误:+ git diff --name-only DRG-111 origin/master fatal: ambiguous argument 'origin/master': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]'
    • @ShashiB 检查here
    • 我尝试了 [here] (stackoverflow.com/questions/45096755/…) 中提到的内容,我在本地机器上使用命令 git diff origin/master 和 git diff current_branch origin/master 得到了 git 差异,但相同的命令在 Jenkinsfile 和得到错误:**致命:不明确的参数'origin/master':未知的修订或路径不在工作树中**
    猜你喜欢
    • 2012-01-18
    • 2021-07-05
    • 2012-10-06
    • 2017-12-23
    • 2014-01-15
    • 2016-06-17
    • 2014-01-07
    • 2012-02-18
    • 1970-01-01
    相关资源
    最近更新 更多