git - Git添加预提交钩子而不是暂存文件以进行提交
问题描述
我编写了一个预提交钩子,它编译我的项目并将生成的文件添加到提交中。
这是一个 JavaScript 项目,我正在使用 husky,但我也尝试过编辑 .git/hooks/pre-commit 并且文件没有被添加到提交中。如果我取消提交,我可以看到文件已添加,但由于某种原因,这不适用于当前提交。
我的预提交钩子看起来像:
const shell = require('shelljs');
shell.exec('yarn bundle');
shell.exec('git add dist');
shell.exit(0);
shelljs
只是一个在节点中执行跨操作系统 unix 命令的库
我编辑了.git/hooks/pre-commit
要运行git add dist
的文件,但该文件仍未添加到提交中
解决方案
我不认为 agit add
可以在pre-commit 钩子中工作,用于检查将要提交的内容,而不是修改它。
您可以采用类似于“ Git 挂钩是否可以自动将文件添加到提交? ”的方法,这会创建一个单独的附加提交。
推荐阅读
- python - 使用 sklearn 在文本集合中为每个文本输出一个计数向量
- azure-functions - 如何从 blob 存储中读取数据并使用 azure 函数应用程序访问它
- python - 使用pytest在python unittest中注册方法以在tearDown中运行?
- javascript - 在 if else 条件下回滚事务 knex
- amazon-web-services - 我可以在一个域上使用 Zoho 和 AWS SES 吗?
- elasticsearch - 带有短语建议的拼写错误建议(“您的意思是”)和 Elasticsearch 的空格校正
- javascript - 在 React 中使用 Hooks(不是类组件)实时更新购物车的状态
- javascript - 悬停时 .li-hover 不显示 .sub-cat-1
- python - 使用 Pandas 将大型 (14 GB) JSON 文件转换为 CSV 时出现内存错误
- elasticsearch - 如何根据 Elasticsearch 中的特定字段获取非空值的计数