要排除 .git 文件夹的 VSTS Minimatch 模式

VSTS Minimatch pattern to exclude .git folder

我正在使用 VSTS 和构建任务 FTP 上传 。当文件和文件夹上传到我的 FTP 服务器时,.git 文件夹也总是被复制到服务器。 我试图用如下文件模式排除 .git 文件夹:

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

我不知道为什么它不起作用,但有什么方法可以告诉具有最小匹配模式的任务明确排除文件夹?

FTP上传任务中文件模式选项的最小匹配模式只能排除文件夹。例如如果你使用 !**\.git\** as File 模式,它只会删除 .git 文件夹和其中的子文件夹,但这些文件夹中的文件仍然上传到 FTP 服务器。

如果您不想将.git文件夹(包括里面的文件)上传到FTP,您可以添加一个复制文件任务 在 FTP 上传任务之前。详细设置如下:

复制文件任务

源文件夹: $(Build.SourcesDirectory)

内容:

**
!**\.git\**

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

FTP上传任务

您只需更改以下设置,

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

文件模式:**

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