红色为主的网站吉林省做网站公司
web/
2025/10/4 0:14:11/
文章来源:
红色为主的网站,吉林省做网站公司,资产管理系统源码,南京市建设工程造价信息网git hook 和 husky
1、git hook 让我们可以在 git 执行一些行为的前后时机#xff0c;执行一些脚本。
2、比如 pre-commit #xff0c;能够在我们真正提交 commit 之前先执行一段代码#xff0c;如果这段代码报错#xff08;exit 1#xff09;#xff0c;提交会被取消执行一些脚本。
2、比如 pre-commit 能够在我们真正提交 commit 之前先执行一段代码如果这段代码报错exit 1提交会被取消如果正常执行commit 会被真正提交。
3、或是 commit-msg也能在真正 commit 前拿到 commit 信息内容去做一些检验工作。
4、利用 git hook 的能力我们就可以在 commit 前做一些风格检验或格式化比如 ESLint、Prettier、commit 格式等。
5、git hook 是 sh 脚本在项目 .git/hooks 目录下。这有一个比较尴尬的问题.git 下的文件是不会被 git 提交的。husky 就是解决这个问题的一个方案。
安装husky Husky 是一款管理 git hooks 的工具可以帮助我们触发git提交的各个阶段pre-commit、commit-msg、pre-push 有助于我们在项目开发中的git规范和团队协作 yarn add -D husky
# 或用 npm
npm install husky --save-dev
执行husky初始化 通过执行下面的命令可以生成一个.husky的文件 1、在package.json文件中配置, 执行 npm run prepare 这么安装的好处是如果其他通过忘记安装只要执行npm install就会安装husky {scripts: {prepare: husky install}
}
2、直接执行npx husky install
安装 lint-staged 在提交信息时可以对提交的文件进行eslint、premitter检查 npm add -D lint-staged
package.json文件的配置
lint-staged: {src/**/*.{js,ts,svelte}: [npm run lint:prettierrc,npm run lint,git add .]
}
在.husky文件夹下的pre-commit文件内配置 在每次提交commit信息时都会对提交的内容进行eslint、premitter进行检查 npx lint-staged --allow-empty $1
安装 commitlint commitlint 是一个用于检查git commit消息的工具。它允许你定义规则以确保所有的commit消息都是统一和有意义的。这对于维护一个清晰的版本历史记录非常有帮助特别是当你在团队环境中工作时确保每个人都遵守相同的提交信息格式标准。它可以与husky结合使用在每次提交时自动运行并验证commit消息。 pnpm add commitlint/{cli,config-conventional} -D
commitlint.config.cjs配置 为什么是 cjs 因为要加载ES module要么在package中设置type为module要么修改后缀为cjs export default { extends: [commitlint/config-conventional] };
在.husky文件夹中新建一个脚本commit-msg
pnpm exec commitlint --config commitlint.config.cjs --edit ${1}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86494.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!