仅在名为Y的文件夹中包含具有扩展名X的某些文件:忽略TypeScript在git中生成的JavaScript文件

时间:2014-07-22 15:08:44

标签: git visual-studio typescript gitignore

我在zip文件中继承了项目的代码,我的第一步是尝试将其放入SCM系统。该代码在Visual Studio中开发,使用NuGet和TypeScript。

TypeScript编译器生成我不想跟踪的*.js*.js.map个文件。由于该项目专门使用TypeScript,我希望通常排除所有*.js fies。

但是,必须仍然包含NuGet放在名为Scripts的文件夹中的第三方JavaScript库。

我在存储库.gitignore

中尝试了以下操作
# Exclude JavaScript other than from NuGet packages
# This is a TypeScript project so JavaScript should not be used
*.js
*.js.map
!Scripts/*.js

这可以排除所有JavaScript文件。但是,它不包括Scripts文件夹中的JavaScript文件。

由于TypeScript文件存在于许多目录中,因此不需要枚举排除JavaScript文件的所有目录。

我发现的所有类似问题都倾向于忽略所有但未接受的文件扩展名,这不是我想要做的。

2 个答案:

答案 0 :(得分:0)

您需要使用**/*.js

包含所有子文件夹
# Exclude JavaScript other than from NuGet packages
# This is a TypeScript project so JavaScript should not be used
*.js
*.js.map
!Scripts/**/*.js

PS:确保你有最新的git,因为它刚刚添加。

答案 1 :(得分:0)

我发现以下似乎可以正常工作(git版本1.9.4.msysgit.0):

*.js
*.js.map
!**/Scripts/**/*.js
!**/Scripts/**/*.js.map