搜索
首页web前端css教程我如何学会停止担心和爱git钩

我如何学会停止担心和爱git钩

Git是一个强大的版本控制系统,但并不能固有地保证提交质量。您仍然可以使用错误,无用的消息或格式不佳提交代码。 git钩提供了解决方案。本教程演示了如何实施GIT挂钩来执行“提交标准”,从而确保了清洁器代码库和更顺畅的协作。

我们将创建仅允许达到特定标准的挂钩。失败的检查将导致信息信息消息引导您进行更正。作为奖励,传递提交将自动格式化。

先决条件

假定对Node.js,npm和Git的基本熟悉。如果您不确定package.jsongit commit -m [message] ,请在继续之前咨询相关文档。

我们的方法

我们将安装依赖项,然后设置三个提交检查:

  1. 绒毛:代码必须没有绒毛错误。
  2. 单位测试:相关的单位测试必须通过。
  3. 提交消息格式:消息必须遵守预定义格式(常规提交格式)。

最后,传递提交将使用漂亮的格式自动格式化。至关重要的是,这些检查仅在上演文件上运行,从而最大程度地减少开销。该过程是堆栈敏捷的;将其适应您的首选工具(例如,摩卡而不是开玩笑)。

安装依赖项

首先,安装Husky(用于管理钩子)和绒毛阶段(用于在上演文件上运行Linters):

 NPM I HUSKY LINT阶段 -  Save-Dev

接下来,为提交消息验证安装commitlint:

 npm install @commitlint/{config-conventional,cli} -save-dev

适用于Windows用户:

 npm install @commitlint/config-conventional @commitlint/cli -save-dev

配置commitlint使用常规格式:

 echo“ module.exports = {扩展:['@commitlint/config-conventional']}> commitlint.config.js

实施预加入钩子

让我们假设一个package.json

 “脚本”:{
  “ start”:“ webpack-dev-server -config ./webpack.dev.js  - 模式开发”,
  “ build”:“ webpack -config ./webpack.prod.js  - 模式生产”,
  “测试”:“开玩笑”,
  “ lint”:“ TSC -Noemit”,
  “ Prettier”:“ Prettier  -  Single-Quote  -  Print Width 80 \” **/*。{JS,TS} \“  -  -write”
}

package.json中配置沙哑和棉绒阶段。JSON:

 “沙哑”:{
  “钩子”:{
    “ pre-commit”:“绒毛阶段”
  }
},,
“绒毛阶段”:{
  “ ./*//*。{ts}”:[
    “ npm运行棉绒”,
    “ NPM运行更漂亮”
  这是给出的
}

在每个提交之前,这会在上演的打字稿文件上运行lintprettier 。要包括单位测试,请添加开玩笑:

 “绒毛阶段”:{
  “ ./*//*。{ts}”:[
    “ npm运行棉绒”,
    “开玩笑-bail-覆盖 - 封闭式testests”,
    “ NPM运行更漂亮”
  这是给出的
}

对于提交消息验证,请在沙哑添加commit-msg钩子:

 “沙哑”:{
  “钩子”:{
    “ commit -msg”:“ commlint -e husky_git_params”,
    “ pre-commit”:“绒毛阶段”
  }
},,

现在,如果检测到错误,测试失败或不当格式的提交消息,则提交将失败。更漂亮的自动格式通过提交。这个简化的工作流程大大提高了代码质量和团队协作。

以上是我如何学会停止担心和爱git钩的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
'订阅播客”链接应在哪里?'订阅播客”链接应在哪里?Apr 16, 2025 pm 12:04 PM

有一段时间,iTunes是播客中的大狗,因此,如果您将“订阅播客”链接到喜欢:

浏览器引擎多样性浏览器引擎多样性Apr 16, 2025 pm 12:02 PM

当他们在2013年去Chrome时,我们失去了歌剧。与Edge今年早些时候也进行了同样的交易。迈克·泰勒(Mike Taylor)称这些变化为“减少

网络共享的UX注意事项网络共享的UX注意事项Apr 16, 2025 am 11:59 AM

从垃圾点击诱饵网站到大多数出版物的最多,共享按钮长期以来一直无处不在。然而,这些

每周平台新闻:Apple部署网络组件,渐进的HTML渲染,自托管关键资源每周平台新闻:Apple部署网络组件,渐进的HTML渲染,自托管关键资源Apr 16, 2025 am 11:55 AM

在本周的综述中,Apple进入Web组件,Instagram如何插入脚本以及一些思考的食物,以进行自托管关键资源。

git Pathspecs以及如何使用它们git Pathspecs以及如何使用它们Apr 16, 2025 am 11:53 AM

当我查看GIT命令的文档时,我注意到其中许多人都有选择。我最初以为这只是一个

产品图像的彩色拾取器产品图像的彩色拾取器Apr 16, 2025 am 11:49 AM

听起来有点像一个困难的问题,不是吗?我们经常没有成千上万种颜色的产品镜头,以便我们可以随身携带。我们也不是

黑暗模式与React和Themeprovider切换黑暗模式与React和Themeprovider切换Apr 16, 2025 am 11:46 AM

我喜欢网站具有“暗模式”选项时。黑暗模式使我更容易阅读网页,并帮助我的眼睛更放松。许多网站,包括

带有HTML对话框元素的一些动手带有HTML对话框元素的一些动手Apr 16, 2025 am 11:33 AM

这是我第一次查看HTML元素。我已经意识到了一段时间,但是尚未将其旋转。它很酷,

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)