我需要一个已更改的文件列表并将其转储到文件
我可以通过运行这个来获取所有列表
git diff-tree --name-status -r "upstream/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME..HEAD"> changed-files.txt
但现在我只想要一个在 resources
文件夹内更改的文件列表
怎么做?
最佳答案
您可以使用以下语法将提交中的子目录作为目标:
<commit hash or name>:path/to/dir
在您的情况下,您可以将 git diff-tree
命令更改为:
git diff-tree --name-status -t \
"upstream/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME":resources \
HEAD:resources
正如@torek 评论的那样,您还可以在比较的元素之后简单地提供一个路径,以将差异缩小到该路径,因此以下命令也有效:
git diff-tree "upstream/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" HEAD -- resources
关于git - 如何将 'git diff-tree'放在某个目录上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68709775/