如何在某个目录上“git diff-tree”?

Roy*_*Roy 3 git gitlab-ci

我需要一个更改的文件列表并将其转储到文件中

我可以通过运行这个来获取所有列表 git diff-tree --name-status -r "upstream/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME..HEAD" > changed-files.txt

但现在我只想要一个resources仅在文件夹内更改的文件列表

怎么做?

LeG*_*GEC 5

您可以使用以下语法在提交中定位子目录:

<commit hash or name>:path/to/dir
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您可以将git diff-tree命令更改为:

<commit hash or name>:path/to/dir
Run Code Online (Sandbox Code Playgroud)

正如@torek所评论的那样,您还可以简单地在比较元素之后提供一个路径,以将差异缩小到该路径,因此以下命令也有效:

git diff-tree "upstream/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" HEAD -- resources
Run Code Online (Sandbox Code Playgroud)