git - 提交没有发生
问题描述
我设置husky
为进行预提交格式化并运行测试。当我这样做时,git commit -m "readme fix"
我得到了这个:
PASS src/App.test.jsx
✓ plug (15 ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 0.91 s, estimated 1 s
Ran all test suites related to changed files.
Watch Usage
› Press a to run all tests.
› Press f to run only failed tests.
› Press q to quit watch mode.
› Press p to filter by a filename regex pattern.
› Press t to filter by a test name regex pattern.
› Press Enter to trigger a test run.
但是提交实际上并没有发生。我不能用终端做任何事情?除了 Ctrl + C。即使我尝试输入 a、f、q 等 - 也没有任何反应。如何实际提交?我究竟做错了什么?
解决方案
一长串“Press something...”消息表明测试运行者没有退出,但它正在等待做更多的事情。按q
,它将退出并且提交将结束。
更改运行测试的方式,使其不在“监视”模式下启动(您可能应该--watch
从其命令行中删除)。
您发布的输出看起来类似于jest
. 查看Jest CLI 选项。
--watch
or的目的--watchAll
是以 TDD 工作方式运行 Jest。在初始执行测试后,它会监视测试文件并在修改后立即运行它们。您不再关心运行它,您只需编写用例和代码。
它不适合你想要的。
顺便说一句,运行测试或代码检查或代码美化器或任何其他需要超过 0.5 秒才能完成的程序是个坏主意。Git 与 Subversion 或其他较旧的 CVS-es 之间的主要区别之一是,使用 Git,提交会立即发生。在 Git 哲学中提交是保存工作的更聪明的方式。您应该经常提交,并且提交操作不应该妨碍您。通过添加冗长的操作作为提交钩子,您可以防止自己使用 Git,因为它被设计为使用。
推荐阅读
- c++ - 检查概念中的 constexpr
- python - 用两个相等的列连接两个df pandas python
- c# - 使用 postgresql 整数 [] 数组与 linq 进行内部连接
- python - 在 PDF 中搜索信息
- webrtc - WebRTC 媒体聊天中网络更改后的无效对等连接
- python-3.x - 如何使用 TLS 连接与服务器通信?
- kotlin - 如何在 Kotlin 中打乱可变列表的元素?
- c++ - pybind11(嵌入)导入到根命名空间
- javascript - .eslintrc 中的“插件”属性有什么作用?
- firebase - 如果文档 ID 包含字符串,则 Firebase Firestore 安全规则允许