【问题标题】:Conditional .gitignore files - adding logic to .gitignore条件 .gitignore 文件 - 向 .gitignore 添加逻辑
【发布时间】:2017-11-13 12:42:08
【问题描述】:

所以我有 TypeScript 项目。生成的 .d.ts 和 .js 文件可能会导致不必要的合并冲突。

但是,这个项目很大,目前只有约 50% 的时间从 JS 转换为 TS,所以我不能简单地 .gitignore 所有 .js 文件。此外,还有一些 .js 文件我永远不会转换为 .ts。

那么有没有办法有条件地忽略文件?

逻辑当然很简单:

ignore z.js if z.ts exists

【问题讨论】:

  • 另外,我有点希望 .js 文件在版本控制中,这样我就不必在目标机器上重建东西了。
  • yolo rolo cholo

标签: javascript git typescript gitignore


【解决方案1】:

那么有没有办法有条件地忽略文件?

不,没有。

但是,这个项目很大,目前从 JS 转换为 TS 的只有 ~50%,所以我不能简单地 .gitignore 所有 .js 文件

你可以。已被 Git 跟踪的文件不受.gitignore 的影响,因此只会忽略构建过程生成的*.js 文件。

【讨论】:

  • 对,但是如果我手动将.js文件添加到项目中,它们会突然变成.gitignore,这不是我想要的。
  • @AlexanderMills 但您仍然可以git add -f 那些新的.js 文件
【解决方案2】:

这是不可能的.gitignore 是一个非常简单的文件,它不允许任何忽略文件或文件夹的条件规则。

但是,您可以创建不同的模式来包含或排除您的文件。

请在此处查看有关编写.gitignore 模式的帮助:.gitignore File Docs

【讨论】:

    【解决方案3】:

    您可以拥有多个.gitignore 文件。如果您的所有 typescript 文件都在一个目录(或一个目录结构)中,而您的 .js 文件在另一个目录中,请在忽略 javascript 文件的 typescript 目录中放置一个新的 .gitignore 文件。

    这只会忽略该目录和子目录中的 javascript 文件。

    【讨论】:

      猜你喜欢
      • 2020-07-17
      • 2012-08-18
      • 2011-12-21
      • 2017-12-05
      • 2018-01-31
      • 2013-01-14
      • 2014-11-29
      • 2017-03-10
      • 2022-08-15
      相关资源
      最近更新 更多