【问题标题】:how to exclude typescript compiled files from git如何从 git 中排除打字稿编译的文件
【发布时间】:2016-03-01 16:48:42
【问题描述】:

我有一个带有几个 asp.net 5 项目的 Visual Studio 解决方案。在每个项目中,我都有一个 wwwroot 目录,在这个目录中还有一个 app 目录,其中包含 html 视图、.js 和 .map 文件,它们是在这个位置编译的打字稿文件。 使用标准配置,这些文件包含在签入中。如何配置 .gitignore 文件,以便忽略解决方案中每个项目的 wwwroot\app 目录的每个子目录中的所有 .js 和 .map 文件?

【问题讨论】:

  • 如果您有多个项目并且所有项目都需要相同的 git 忽略规则集,那么您可以使用 全局 Git 忽略规则 概念来提及单个 gitignore 文件并在所有项目中使用您的项目,而不是创建单独的 gitgnore 文件。但是这个全局 git 忽略文件不会是共享副本,您的其他队友也不会受益。请参考Atlassian Git查看步骤。

标签: git typescript gitignore


【解决方案1】:
wwwroot/app/**/*.js
wwwroot/app/**/*.map

** 将匹配 app 中的所有内容,以及多个级别的子目录。

【讨论】:

  • 如果你的 js 不是编译文件,例如库,会发生什么?
  • @DiegoGonzález 库应该放在单独的文件夹中,而不是 /app(例如 /lib/node_modules 等)
  • @Jay 将输出放入单独文件夹的一个问题是您的代码没有在与 src 完全相同的上下文中运行,因此,例如,如果您 fs.readFile('./foo.md') 那么它将失败 - - 除非您有单独的复制任务将所有非 js 文件移动到 /dist 目录中。 IMO tsc 应该允许您使用自定义文件扩展名输出,例如.compiled.js 然后可以显式忽略
  • *.js 也覆盖了*.js.map
  • @Technotronic 那不是*.js.*吗?
【解决方案2】:

将以下行添加到您的 .gitignore:

# Ignores compiled TypeScript files
**/wwwroot/app/**/*.map
**/wwwroot/app/**/*.js

你可以阅读更多关于 gitignore 和支持的模式here

** 递归匹配子目录。第一个是针对项目的,第二个是因为你提到的

在 wwwroot\app 目录的每个子目录中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 2019-07-12
    • 2016-04-01
    相关资源
    最近更新 更多