Azure devops 要排除.git文件夹的VSTS最小匹配模式

Azure devops 要排除.git文件夹的VSTS最小匹配模式,azure-devops,azure-pipelines,azure-pipelines-build-task,minimatch,Azure Devops,Azure Pipelines,Azure Pipelines Build Task,Minimatch,我正在使用VST和构建任务FTP上载。将文件和文件夹上载到我的FTP服务器时,.git文件夹也始终复制到服务器。 我试图用如下文件模式排除.git文件夹: ** !(**/.git/**) 我不知道为什么它不起作用,但有没有办法告诉使用minimatch模式的任务明确排除文件夹?FTP上载任务中文件模式选项的minimatch模式只能排除文件夹。例如,如果您使用!**\。git\**作为文件模式,它只会删除.git文件夹及其子文件夹,但这些文件夹中的文件仍会上载到FTP服务器 如果不希望将.g

我正在使用VST和构建任务FTP上载。将文件和文件夹上载到我的FTP服务器时,.git文件夹也始终复制到服务器。 我试图用如下文件模式排除.git文件夹:

**
!(**/.git/**)

我不知道为什么它不起作用,但有没有办法告诉使用minimatch模式的任务明确排除文件夹?

FTP上载任务中文件模式选项的minimatch模式只能排除文件夹。例如,如果您使用
!**\。git\**
作为文件模式,它只会删除
.git
文件夹及其子文件夹,但这些文件夹中的文件仍会上载到FTP服务器

如果不希望将
.git
文件夹(包括其中的文件)上载到FTP,可以在FTP上载任务之前添加复制文件任务。详细设置如下:

复制文件任务 源文件夹:
$(Build.SourcesDirectory)

内容:

**
!**\.git\**
目标文件夹:
$(Build.ArtifactStagingDirectory)\upload

FTP上传任务 您只需更改以下设置

源文件夹:
$(Build.ArtifactStagingDirectory)\upload

文件模式:
**


现在排除
.git
文件夹中的文件,所有文件和文件夹都上载到FTP服务器。

这似乎确实解决了问题,我发现文档在这种情况下有点误导tbh