Git / Perforce 排除规则 - 如果存在同级文件则允许忽略?

Git / Perforce Exclusion Rules - to allow ignoring if a sibling file exists?

我们开始关注TypeScript,我们不想在有.ts文件时签入对应的.js文件,而是在没有对应的.ts文件时签入文件。

file.ts file.js(别查我!我有兄弟姐妹file.ts!)

foo.js(检查我没问题,我不是从ts编译过来的!)

想法?

解决此问题的一种方法是将所有 .ts 及其对应的 .js 文件组织到一个子文件夹中,并使用 .gitignore 忽略 .js 中的文件该子文件夹。

例如,如果我们的项目布局如下所示:

apps
 |-- *.js  # many JS files
 |-- ts    # subfolder containing all .ts files and their siblings .js files
     |-- *.ts
     |-- *.js

然后您可以使用以下模式将 .gitignore 添加到项目根级别:

ts/*.js

或者,您也可以将所有同级 *.js 文件放入另一个完全独立的子文件夹,并完全忽略该子文件夹。

我最后做了一个毯子 .js. 忽略,然后手动排除我想让 js 进入的每个文件夹。

*.js.*
!spg/bower_components/*
!spg/Gruntfile.js
!spg/na_components/*