Linux VSTS通过SSH将文件复制到远程计算机

Linux VSTS通过SSH将文件复制到远程计算机,linux,azure,ssh,azure-pipelines,Linux,Azure,Ssh,Azure Pipelines,我通过VSTS构建定义中的SSH复制文件步骤在基于Linux的VM上部署我的项目。下面是文件夹结构 root -- .git -- .gitignore -- folder1 -- folder2 . . . 我想在将文件复制到基于Linux的临时服务器(Azure上的VM)时忽略.git文件夹。我尝试了低于最小匹配模式,但没有一个有效 **/!(.git) **/!.git 让我知道我遗漏了什么,以及如何忽略.git文件夹。我试着在互联网上搜索,但没有找到任何东西。基于以下

我通过VSTS构建定义中的SSH复制文件步骤在基于Linux的VM上部署我的项目。下面是文件夹结构

root
 -- .git
 -- .gitignore
 -- folder1
 -- folder2
 .
 .
 .
我想在将文件复制到基于Linux的临时服务器(Azure上的VM)时忽略.git文件夹。我尝试了低于最小匹配模式,但没有一个有效

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

让我知道我遗漏了什么,以及如何忽略.git文件夹。我试着在互联网上搜索,但没有找到任何东西。

基于以下信息,应该可以:

!**/.git

图案框是多行的,每行应有一个条目:

**

!**\折叠式齿槽*

通过这种方式,您可以以较低的复杂性进行多个排除和包含。

解决方案是(忽略.git文件夹中的所有文件):


仍在复制.git文件夹,点(.)会导致minimatch出现问题吗?是否有转义字符使点成为图案的一部分。我试过**!***\。git*结果是什么!**/。git/**?@starain MSFT这就行了。请把它作为答案贴出来,解释一下。
!**/.git/**