首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你可能已经忽略的git commit规范

引言 在日常的开发工作中,我们通常使用 git 来管理代码,当我们对代码进行某项改动后,都可以通过 git commit 来对代码进行提交。...但是在日常工作中,大多数同学对于 log 信息都是简单写写,没有很好的重视,这对于项目的管理和维护来说,无疑是不友好的。...test: 测试用例,包括单元测试、集成测试。 chore: 改变构建流程、或者增加依赖库、工具等。...[模板文件名] //这个命令能设置全局的提交模板,注意global前面是两杠 新建 .gitmessage.txt(模板文件) 内容可以如下: # headr: (...不过社区也为我们提供了一些辅助工具来帮助进行提交,下面来简单介绍一下这些工具。 commitizen(cz-cli) commitizen是一款可以交互式建立提交信息的工具。

2.6K30

2022年3月最新Eslint + Prettier + Husky + Stylelint + Jest + CICD 超详细前端单元测试&规范工程化工作流

1 前置准备 一个正常运行的前端项目 一个准备好的git仓库 2 规范 2.1 代码规范 2.1.1 eslint eslint乃老生常谈,配置上也较为简单 pnpm i eslint --save-dev...run build && npm test" 3 单元测试「可选」 单元测试中最出名的当属Jest 我这里使用的则是Jest和ReactTestingLibrary 3.1 Jest && ReactTestingLibrary...注意这样是有缺陷的,包括但不限于缺少回滚机制、在本地编包的风险 可能更多人的诉求是当代码合并到某个分支后,机器能自动帮我执行完打包和部署这两个步骤,如果是这样后边不用看了哈...周末要结束我要歇歇了有机会额外出...,不是一篇文章能搞定的 4.1 前置准备 先留一个官网链接「console.cloud.tencent.com/tcb/hosting 」 正常注册一个云开发环境就行,可以选择「按量付费」再买资源包,一般来讲日花费不到...getError(e).code, e); spinner.text = "代码提交失败"; spinner.start(); spinner.fail();

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    从 0 开始手把手带你搭建一套规范的 Vue3.x 工程化项目

    :Commitizen[19] + Commitlint[20] 单元测试:vue-test-utils[21] + jest[22] + vue-jest[23] + ts-jest[24] 自动部署...具有更加详细的 body 和 footer,可以清晰的看出某次提交的目的和影响。 可以通过 type 过滤出想要查找的信息,也可以通过关键字快速查找相关提交。...image commitlint 验证 不符合规范的提交信息 如下图,提交信息 test commitlint 不符合规范,提交失败。 ?...安装核心依赖 我们使用 Vue 官方提供的 vue-test-utils 和社区流行的测试工具 jest 来进行 Vue 组件的单元测试。...npm i @types/jest -D TypeScript 的编译器也会提示 jest 的方法和类型找不到,我们还需把 @types/jest 添加根目录下的 ts.config.json(TypeScript

    6.6K62

    前端基建处理之组件库优化方案

    原文:https://juejin.cn/post/7302255044879400998 背景 前段时间入职了新公司后,做一些内部前端基建的工作,其中一个工作就是优化现有的frontend-common...) 组件没有文档和预览(写公共组件的开发实现之后就没有花更多时间在文档和预览上,导致其他开发要使用组件的时候有上手成本,而且不方便熟悉这些公共组件的功能和使用) 没有提交规范(因历史原因,不少提交的commit...message上面都是随便写,没有什么规范,也不方便根据commit信息判断改动的内容) 无法保证改动不影响之前的一些功能(即无法保证能向下兼容,改动需要更多靠人工的方式来验证功能是否不影响之类的)...,保证提交的代码和commit的规范。...如果报错要修复完问题才可以正常提交,而且代码都会进行格式化,保证每个人提交的风格都一致。其他的不展开赘述。

    42210

    基于 Lerna 管理 packages 的 Monorepo 项目最佳实践

    工作流程如图中所示: 使用webpack、babel和uglifyjs把 pkg-a 的 src 编译到 dist 使用webpack、babel和uglifyjs把 pkg-b 的 src 编译到 dist...pkg-main和pkg-npm的package.json耦合在一起,导致一些本来是工程的开发依赖也会发布到 npm 上去,变成pkg-npm 的依赖包。 依赖的包冗余。...一、优雅的提交 1.commitizen && cz-lerna-changelog commitizen 是用来格式化 git commit message 的工具,它提供了一种问询式的方式去获取所需的提交信息...我们使用 commitizen 和 cz-lerna-changelog 来规范提交,为后面自动生成日志作好准备。...答案就是在提交时对提交信息进行校验,如果不符合要求就不让提交,并提示。校验的工作由 commitlint 来完成,校验的时机则由 husky 来指定。

    3K61

    可能是目前最详细从零开始配置 TypeScript 项目的教程

    VS Code 配置中的用户和工作区有什么区别? VS Code 的插件可以只对当前项目生效吗? 谈谈你所理解的 npm scripts,它有哪些功能? 你所知道的测试有哪些测试类型?...[96] - 重点可以了解一下测试金字塔和测试置信度 [译] JavaScript 单元测试框架:Jasmine, Mocha, AVA, Tape 和 Jest 的比较[97] - 单元测试框架对比中文版...,Jest 会优先运行之前失败的测试用例 内置覆盖率报告,无需额外进行配置 优秀的报错信息 温馨提示:前端测试框架很多,相比简单的单元测试,e2e 测试会更复杂一些(不管是测试框架的支持以及测试用例的设计...如果单元测试失败那么退出构建,只有当两者都通过时才会进行源码构建。 Jest 确保代码上传 除了预防不负责任的代码构建以外,还需要预防不负责任的代码提交。...),此后的 Git 提交以及 Build 构建都会失败!

    5.1K22

    巧用 gitHooks 提交前校验代码

    ,git commit -m 'test'就会发现 eslint 代码检查通过了,能正常提交了,以上实践能很好解释 commit 前怎么检验代码,但是有个缺点就是别人 pull 你的代码要执行git config...,补全缺失的分号等) test:新增测试用例或是更新现有测试 revert:回滚某个更早之前的提交 chore:不属于以上类型的其他类型(日常事务) optional scope:一个可选的修改范围。...这时候,执行一次测试一下 git add . git commit -m 'test' 因为该提交的 commit 是不规范的所以提交时失败的 如下图 如果把 commit 修改,就会提交成功,因为符合...打通 commitizen 和commitlint配置 npm install --save-dev @commitlint/cz-commitlint commitizen 然后 npx commitizen...cz-customizable也可以自定义很多配置的

    4.8K31

    React 设计模式 0x8:测试

    学习如何轻松构建可伸缩的 React 应用程序:测试 # 如何测试组件 测试在每个 Web 应用程序中都非常重要,即使在 React 中也是如此,特别是在其组件方面。...Jest 通常用于运行功能测试,但我们也可以用它进行渲染测试。...回归测试的目的在于确保一切仍然像以前一样正常工作。 可以使用 Jest 中的快照测试来实现这种回归测试。...React 组件的工具和函数 编写测试用例 编写完整的测试用例,覆盖组件的所有代码路径,包括正常情况和异常情况 使用快照测试 使用 Jest 中的快照测试功能来验证组件是否按预期呈现 使用模拟数据...使用模拟数据来测试组件,以确保它们在不同的数据情况下都能正常工作 使用模拟函数 使用模拟函数来模拟组件的依赖项和外部接口,以便更好地控制测试环境 集成测试 编写集成测试来测试应用程序的整个流程

    1.8K10

    React Native自动化测试

    这些测试是通过Travis持续集成系统来运行的,并且会自动针对你提交的代码给出测试结果。 当然我们的测试不可能有完整的覆盖率(尤其对于复杂的用户交互),所以很多更改也还需要仔细的人工审查。...我们期待你能帮助我们提高测试覆盖率,以及提供更多的测试代码或是测试用例。 使用Jest来测试 Jest是在命令行通过node来执行的纯js测试工具。测试代码放置在__tests__目录下。...你可以在react-native源代码的根目录中使用如下命令来运行现有的jest测试代码: npm test 我们建议你在贡献代码的时候也添加自己的测试代码。...注意:你可能需要先在当前的环境中安装、更新或是链接Node.js和其他的一些工具,不然测试可能无法正常运行。点这里查看最新的测试配置文件.travis.yml。...只需在UIExplorer/UIExplorerSnapshotTests.m中设置_runner.recordMode = YES;,然后重新运行先前失败的测试代码,再之后将这一设置改回去,最后提交/

    3K60

    让你的 commit 更有价值

    ) build: 构建流程、外部依赖变更,比如升级 npm 包、修改 webpack 配置等 perf: 性能优化 test: 测试相关 chore: 对构建过程或辅助工具和库(如文档生成)的更改 ci...footer ,可以清晰的看出某次提交的目的和影响 可以通过 type 过滤出想要查找的信息,也可以通过关键字快速查找相关提交 可以直接从 commit 生成 change log // 列举几个常用的...commitlint 校验提交 Commitizen 文档中开始就介绍到,Commitizen 可以在触发 git commit 钩子之前就能给出提示,但是也明确表示提交时对 commit messages...毕竟即使用了 Commitzen,也是能绕过去,所以提交最后的校验很重要。...,我们都习惯了 git commit ,虽然换成 git cz 不难,但是如果让开发者在 git commit 时无感知的触发 git cz 肯定是更好的,而且也能避免不熟悉项目的人直接 git commit

    1.2K30

    测试开发必学技能之一:代码提交规范与自动生成工具!

    通过遵循约定式提交规范,开发人员可以更容易地理解和管理代码的变更历史,同时也为自动化工具提供了更多可靠的信息,例如自动生成版本号、发布日志和代码库更新等操作。...除 fix: 和 feat: 之外,也可以使用其它提交 类型 ,例如 \@commitlint/config-conventional[4](基于 Angular 约定[5])中推荐的 build:、chore...(不影响代码运行的变动) ♻️ refactor: 重构 (既不增加feature, 也不是修复bug) ⚡️ perf: 性能优化 ✅ test: 增加测试...需要注意的是,husky只在Git仓库中才能正常工作,所以在使用之前请确保你的项目已经初始化为Git仓库 1.安装 husky 在项目中安装 husky,可以使用 npm或者 yarn 进行安装: pnpm...需要注意的是,husky只在Git仓库中才能正常工作,所以在使用之前请确保你的项目已经初始化为Git仓库。 如果觉得有用,就请关注、点赞、在看、分享到朋友圈吧!

    10510

    在2018年如何优雅的开发一个typescript语言的npm包?

    开始编写代码 watch 模式开发 忽略 ts 编译生成的文件夹 添加单元测试 写一个单元测试示例 设置一些有用的 npm 脚本 完善 package.json 的描述信息 提交代码到 git 仓库.../cli commitizen cz-conventional-changelog 新建 commitlint.config.js 文件 touch commitlint.config.js 写入: module.exports...添加单元测试 npm install --save-dev jest ts-jest @types/jest 创建 jestconfig.json文件: { "transform": { "...写一个单元测试示例 在 src 文件夹下新建一个 __tests__的文件夹来存放测试用例文件,新建一个 Greeter.test.ts文件,写入: import { Greeter } from "....设置一些有用的 npm 脚本 prepare: 发布前和用户安装前运行 prepublishOnly: 发布前运行 preversion: 新建一个版本前运行 version: 新建一个版本后运行 postversion

    4.2K110

    吃透 Vue 项目开发实践|16个方面深入前端工程化开发技巧《上》

    本篇文章将围绕下列问题进行论述: •如何规范你的 git 提交,并自动生成并提交日志?•如何配置和使用 Sass 和 PUG 提升你的编码效率?...•了解 npm/yarn/git/sass/pug/vue/vuex/vue-router/axios/mock/ssr/jest 的使用和原理。...•当然上面知识不了解也没关系哈哈哈,文章中会提到大致用法和作用。 如何规范 git 提交 代码提交记录是一个很好的代码修改日志。...from'vue'import appButton from'@/components/app-button' Vue.component('app-button', appButton) 复制代码 1.写好 demo,即使暂时不写单元测试...•如何使用vuex 以及它的应用场景和原理•如何使用过滤器,编写自己的过滤器•如何使用 Jest 测试你的代码?TDD 与 BDD 的比较•回顾 vue 的生命周期,他们都使用哪些场景?

    1.3K30

    15分钟快速配置eslint,prettier,lint-staged,husky,commitizen实现前端项目代码规范化

    pre-commit:git hooks的钩子,在代码提交前检查代码是否符合规范,不符合规范将不可被提交 commit-msg:git hooks的钩子,在代码提交前检查commit信息是否符合规范 commitizen...、pre-commit 文件,分别为提交前进行eslint校验,和对git commit-msg的格式校验 npx husky add .husky/pre-commit "npx lint-staged...id=install 代码提交预检查配置 配置commitizen package.json中增加 "config": { "commitizen": {...自定义规则 } }; package.json的scripts中增加 "commit": "npx git-cz", 则可以通过执行 git-cz 命令来进行 commit-msg 格式化选择和提交...// "editor.formatOnSave": true // } // 指定VSCode用于IntelliSense(智能感知)的ts版本,将内置版本更换为工作区版本

    4.4K31

    作为面试官,为什么我推荐组件库作为前端面试的亮点?

    功能测试(单元测试) 通常来说,组件的功能测试可以通过单元测试来完成。单元测试的目的是验证组件的单个功能是否按照预期工作。这通常可以通过编写测试用例来完成,每个测试用例针对一个特定的功能。...交互测试 交互测试也可以通过端到端(E2E)测试工具来完成。...例如,Jest 和 Mocha 可以用于自动化运行 JavaScript 单元测试,Puppeteer 和 Selenium 可以用于自动化运行端到端测试。...这种情况下,即使模块中的部分导出没有被使用,由于其副作用,也不能被 Tree shaking 移除。否则,可能会导致程序运行出错。...代码检查: 使用如 ESLint、Stylelint 等工具进行代码检查,使用 Jest 等工具进行单元测试和覆盖率检查。这些步骤可以在提交代码时或者 pull request 的过程中自动进行。

    1.4K63

    开发流程规范 — commit及其之后的阶段

    pre-commit-msg:代码风格、测试用例检查 在执行 git commit 后,首先要通过 pre-commit-msg hook 对更改的文件进行代码格式、测试用例检查,这个时机点检查既不会影响开发过程...对代码测试的实践暂未开始,可以主动调研相关的库(或者期待针对本系列针对其的文章)。...和 husky 实现命令行交互提示,只要按照提示来填写就会生成规范化的 commit msg: # 安装,更推荐本地安装 npm install commitizen -D # 初始化 npx commitizen...changelog 信息 在 library 或者业务项目的开发过程中,对于一些新增特性或者修复 bugs 后更新 package.json 中的版本号,并且生成 changelog 信息是非常重要的,这样能保留开发的历史记录...# HUSKY=0 的作用是禁止掉所有之前设置的 git hooks 检查,不然会导致 commit 失败 # 详情请看相关 issue:https://github.com/commitizen/cz-cli

    77710

    JavaScript 测试教程 part 1:用 Jest 进行单元测试

    被测试的单元可以是函数、模块和类等。单元测试应该相互隔离并且彼此独立。对于给定的输入,用单元测试检查结果,通过尽早发现问题并避免退化,可以帮助你确保程序的每个部分都能按预期工作。...集成测试 即使你的所有单元测试都通过了,也只能代表每个部分可以正常工作。尽管如此,该程序仍可能失败。集成测试涵盖跨模块流程,其中各个模块在一起工作时进行组合和测试。...多亏了他,你可以用一种方法来确保你的代码在整体上能够正常运行。 端到端测试(E2E) 与其他类型的测试相反,端到端测试始终在浏览器(或类似浏览器)环境中运行。...他们将模拟滚动,单击和键入之类的行为,并从实际用户的角度检查我们的程序是否运行良好。 用 Jest 进行单元测试 Jest 是 Facebook 开发的测试框架。...为了运行测试,我们使用了test、 it 和 describe 函数。

    2.9K20
    领券