如何 gitignore 快照文件夹?

Posted

技术标签:

【中文标题】如何 gitignore 快照文件夹?【英文标题】:How to gitignore snapshot folders? 【发布时间】:2019-04-13 07:07:39 【问题描述】:

我开始更多地了解 Jest 和测试,例如快照测试。我在 react 中配置组件的方式是......

- src
  - components
    - Component1
      - index.js
      - __tests__
        - Component1.test.js
        - __snapshots__
  - Component2
      - index.js
      - __tests__
        - Component2.test.js
        - __snapshots__

等等。

我想知道在我的.gitignore 中写什么来忽略具有这种结构的__snapshots__ 文件夹。

目前我有这个(这是错误的)

/src/components/*/__snapshots__/

另外,最好将它们保留在版本控制中还是忽略它们?我仍然想知道我需要在gitignore 中添加什么,但也想听听对此的想法!

谢谢!

【问题讨论】:

Globbing Patterns 您为什么不想控制快照版本? "Commit snapshots and review them as part of your regular code review process. This means treating snapshots as you would any other type of test or code in your project." 我觉得在项目根目录下的.gitignore 上写__snapshots__ 一行就够了。 听起来像是一种反模式,根据每个开发机器上生成的快照数据在 CI 服务器上运行测试,而不是让 CI 服务器生成快照并运行测试。不知道为什么 Jest 团队更喜欢这个。 【参考方案1】:

我有同样的问题,最后在这里找到了这篇文章。但是,Jest 文档指出:

所有快照文件都应该与它们所在的模块一起提交 覆盖和他们的测试

希望这可以帮助其他人,就像帮助了我一样。

来源:https://jestjs.io/docs/en/snapshot-testing.html#should-snapshot-files-be-committed

【讨论】:

【参考方案2】:

忽略任何地方名为 snapshots 的文件夹,但不忽略同名文件

__snapshots__/

因为它的末尾有一个“/”,所以只会匹配目录 - 删除它也会使模式捕获具有相同名称的文件。

【讨论】:

以上是关于如何 gitignore 快照文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

git 创建分支会把复制所有代码吗

如何创建.gitignore文件?

如何正确设置.gitignore

如何移除 gitignore文件

如何创建.gitignore文件,忽略git不必要提交的文件

如何在idea中,忽略掉.gitignore文件自身,自己不能忽略自己,该怎么设置?