我正在尝试获取我的分支中更改的所有文件。 我尝试了很多命令,但发现我的詹金斯管道中可能存在问题,没有命令返回正确的列表。
我想从我查看master的地方获取列表,master可能被其他人转发了。
本地有一些命令可以返回正确的更改文件列表:
git diff --name-only origin/master...
git diff --name-only $(git merge-base HEAD origin/master)..
名单:
e2e-v2/src/__specs__/alerts/alert-definitions.test.ts
tools/jenkins/e2e.groovy
tools/scripts/package.json
由于某种原因,在 Jenkins 中返回列表是:
tools/docker-collector-metrics/docker.yml
tools/docker-collector-metrics/system.yml
tools/jenkins/.env
我不明白为什么会有所不同。
也许有一些上下文问题?
您可以在 Jenkins 作业中执行 shell 步骤
git log -10 --graph --decorate --oneline
git remote -v
git branch -avv
这将显示来自 HEAD 的最后 10 次提交,以及 Jenkins 作业签出的远程和分支。
在本地执行相同的操作,您可以确保您是否处于相同的上下文/历史中。
你能展示一下你的管道代码吗?
我调用一个Python文件来执行这个请求
https://bitbucket.example.com/rest/api/1.0/projects/**project-name**/repos/**repo-name**/pull-requests/number-of-pullrequest/changes?limit=1000
(使用bitbucket repo)
还有一个建议:您可以尝试在管道中添加克隆存储库步骤,然后在克隆存储库的目录中执行 git 命令。