Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GitLab中运行git push时从多个提交中获取文件?_Git_Gitlab_Gitlab Ci - Fatal编程技术网

如何在GitLab中运行git push时从多个提交中获取文件?

如何在GitLab中运行git push时从多个提交中获取文件?,git,gitlab,gitlab-ci,Git,Gitlab,Gitlab Ci,GitLab在git推送上运行管道。在运行这个管道时,我想得到一个文件列表,如果有多个提交发生,将从所有提交中推送这些文件 我正在尝试使用此命令获取 git-diff-tree——无提交id——仅名称-r${CI_-commit_-SHA}但这只提供最近的提交。如果分支中有多个提交事件,则只提供最后一次提交的详细信息。我想获取推送期间提交的所有文件 当git能够从多个提交中找到它需要推送的所有文件时,我们怎么能不?查看给定提交和当前提交使用之间的文件更改- git diff——仅名称标题 更一般

GitLab
在git推送上运行管道。在运行这个管道时,我想得到一个文件列表,如果有多个提交发生,将从所有提交中推送这些文件

我正在尝试使用此命令获取

git-diff-tree——无提交id——仅名称-r${CI_-commit_-SHA}
但这只提供最近的提交。如果分支中有多个提交事件,则只提供最后一次提交的详细信息。我想获取推送期间提交的所有文件


git
能够从多个提交中找到它需要推送的所有文件时,我们怎么能不?

查看给定提交和当前提交使用之间的文件更改-

git diff——仅名称标题

更一般地说,检查在两次提交之间更改了哪些文件-


git diff——仅限姓名

这将解决我的问题

git whatchanged--name only--pretty=”“origin..HEAD

更新: 上面的命令还包括通过其他分支对master所做的更改。 假设其他人将代码更改推送到master,而您没有将它们拉出来,那么当您运行上述命令时,它会将这些更改显示为当前分支中的diff

我认为
whatchanged
是不可取的,你可以用
log

如果只想查看当前分支的更改,可以使用
git差异主机--仅名称
git diff--仅名称主控…

可能的重复:我不知道这里的
模式,因为我可能不是要提交的人。好的,这就是我的理解,您想查看在多次提交中进行更改的所有文件,我说的对吗?谢谢你的回复。在上面的命令中,如何查找?我对目前的分支机构一无所知。我就像第三个人,想要检查将要推送的文件,并在这些文件上运行一些脚本。表示要从中查看文件的各个提交的哈希代码。他的问题是如何知道自上次推送以来的最后一次提交是什么。是的,这是另一个很好的解决方案,我没有想到这一点。