UNPKG

@shixinde/vuepress-theme-init

Version:
326 lines 95.9 kB
<!doctype html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <meta name="generator" content="VuePress 2.0.0-rc.14" />
    <style>
      :root {
        --c-bg: #fff;
      }

      html.dark {
        --c-bg: #22272e;
      }

      html,
      body {
        background-color: var(--c-bg);
      }
    </style>
    <script>
      const userMode = localStorage.getItem('vuepress-color-scheme')
      const systemDarkMode =
        window.matchMedia &&
        window.matchMedia('(prefers-color-scheme: dark)').matches
      if (userMode === 'dark' || (userMode !== 'light' && systemDarkMode)) {
        document.documentElement.classList.toggle('dark', true)
      }
    </script>
    <link rel="icon" href="/favicon.ico"><title>git 笔记 | Guoguo-notes</title><meta name="description" content="袁果锅笔记">
    <link rel="preload" href="/guoguo-notes/assets/style-35EaXqtH.css" as="style"><link rel="stylesheet" href="/guoguo-notes/assets/style-35EaXqtH.css">
    <link rel="modulepreload" href="/guoguo-notes/assets/app-Dx9bNbfq.js"><link rel="modulepreload" href="/guoguo-notes/assets/Git 代码管理.html-B63UoB0T.js">
    <link rel="prefetch" href="/guoguo-notes/assets/index.html-D6hY1Pr0.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/React.html-DpSypgmq.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/java jdk 管理.html-UyxKEztz.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/lingzhi.html-DrDRjKEH.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/临时使用.html-D81L-GXB.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/新公司.html-Bp4Oxj5H.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/项目架构升级版.html-CpJwv32O.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/风扬小记.html-BTKAsyQB.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Python代码片段.html-3rxV2C-F.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Python笔记.html-DfxyADl3.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/AjaxResult.html-CcB1SHt9.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Java 基础.html-C0Mw79YJ.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Java 注解.html-DMhJ2pfz.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/MyBatis Plus.html-DXaupZNq.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/MySQL完整.html-E-VKR_Bm.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Mybatis 语法.html-BtyLUnj2.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/StringBoot.html-IewOkkS1.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/idea 插件.html-yFlZz-2q.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/idea快捷键.html-CI1PJIaN.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/java 代码片段.html-mGveOiyh.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/mySql.html-mha8lKTS.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/分页插件使用.html-BpMDhHym.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/项目初始化.html-TexbaFDo.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/02_react案例_笔记.html-BzISG9Ro.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/03_react-router_教程.html-CiEuDnOl.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/04_react-UI_教程.html-CptRBAn1.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/05_redux笔记.html-BBtVc0mQ.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/React 笔记.html-BPeqw1PX.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/React 项目配置流程.html-BXl6Ye6r.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/尚硅谷React扩展笔记.html-CCxyveD2.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/尚硅谷react-redux笔记.html-DYzvAaxv.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/index.html-3ZVA3kn7.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Element Plus --vue3.0.html-DXuv_b9N.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Element ui 笔记.html-sVqlVk_V.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Taro.html-CA8JB-of.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Vue 代码片段.html-DKeMa5iO.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Vue 全局封装 main.js.html-D9vo-8hy.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Vue 笔记.html-DGHKF3_K.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Vue3 .html--oEgCjOt.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Vue3_Element Plus.html-BVAoHXff.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/element plus 本地启动.html-CgsgPmvg.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/jsx tsx 代码片段.html-G1ShCdaZ.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/jsx tsx 笔记.html-BtuYzmC-.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/uniapp笔记.html-ok2vMZAr.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/vite 笔记.html-D-EBkJ0C.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/vite手写插件.html-Cggy24Oh.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/vue.js 下载文件.html-B1uCoFDS.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/vueuse笔记.html-DS6eTZ6y.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/vxe-table笔记.html-yUGgZHig.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/代码片段 - 解析数学公式.html-DdcBDyRv.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/常用插件.html-CZkTIVvE.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/汇智腾远笔记.html-moZCMq7M.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/视频播放插件.html-BcEFDEgf.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/CSS笔记.html-fAv9dNNH.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Echarts.html-Cge55fid.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Html 笔记.html--NntXjWX.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/TypeScript.html-D-Qjaudh.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/axios 请求拦截.html-D1TCv2Mj.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/js常规.html-Ka8coTuF.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/npm.html-B-EmKZd8.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/sh 笔记.html-B3G_4KZW.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/valibot校验学习.html-BBH2-2ZH.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/云开发教程.html-DRtT7hW1.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/公共API接口.html-p1pxjePH.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/小程序笔记.html-BJbLxiMh.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/插件库.html-CZ-6S-Qp.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/服务器.html-BNfIswB8.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/服务器部署教学.html-T1qkai4O.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/浏览器px to rem适配.html-DPzD4TkF.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/登录逻辑.html-D5sdqJbb.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/网站配色.html-B_2Exge9.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/跨域代理.html-BYkKrkY7.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/接入AI.html-DVRrF1MA.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/查看 编辑对话框组件.html-zEZcOjWH.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/简易电影选座.html-TuQVklis.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/index.html-1f6p3-c_.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/CSS--common.html-D0ck7nMZ.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/ES6.html-wEFap9Uq.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Git提交.html-CHssaRZs.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Js获取当前时间的方法.html-BRnoMyWs.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Uni-App笔记.html-BUy_Af_M.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Uni-app API.html-CAzH1d66.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Uniapp-插件.html-DB8eOvmu.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/VueX 笔记.html-BrvLUsYq.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/js函数封装.html-Cc5d9Th4.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/js常规.html-CIq-xlv8.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/uView基本使用.html-CCsyyvNN.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/uniapp 引入组件库.html-BnVxGutO.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/常用正则表达式.html-AS2O_lcX.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/界面类.html-BEOhA9U_.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/笔记.html-DcjAVSiK.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/组件封装.html-BF9gShal.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/编程逻辑整理.html-CZRD3wTo.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/调用接口.html-DniVQnty.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/SSH 配置.html-9u6Q-DHg.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/Editor.html-CfSL24h8.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/分页组件.html-DcRa4Q6p.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/拖拽组件.html-D6yjy7lX.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/index.html-LinbGCk2.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/GIt 代码提交规范及步骤.html-w7f6_4N9.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/命名_ 开发期间的命名规范.html-DhnWSrsL.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/大佬项目组织规范.html-B32Km5um.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/重要_框架 - 初始化项目约束.html-Sw9ULLk3.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/404.html-BZdzN0T2.js" as="script"><link rel="prefetch" href="/guoguo-notes/assets/SearchResult-DqPIHYal.js" as="script">
  </head>
  <body>
    <div id="app"><!--[--><div class="vp-theme-container external-link-icon"><!--[--><header class="vp-navbar"><div class="vp-toggle-sidebar-button" title="toggle sidebar" aria-expanded="false" role="button" tabindex="0"><div class="icon" aria-hidden="true"><span></span><span></span><span></span></div></div><span><a class="route-link" href="/guoguo-notes/"><!----><span class="vp-site-name" aria-hidden="true">Guoguo-notes</span></a></span><div class="vp-navbar-items-wrapper" style=""><!--[--><!--]--><nav class="vp-navbar-items vp-hide-mobile" aria-label="site navigation"><!--[--><div class="vp-navbar-item"><a class="route-link auto-link" href="/guoguo-notes/" aria-label="主页"><!---->主页<!----></a></div><div class="vp-navbar-item"><a class="route-link auto-link" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E7%BD%91%E7%AB%99%E9%85%8D%E8%89%B2.html" aria-label="常用笔记"><!---->常用笔记<!----></a></div><div class="vp-navbar-item"><a class="route-link auto-link" href="/guoguo-notes/vue%E7%AC%94%E8%AE%B0%E5%8F%8A%E5%91%A8%E8%BE%B9%E7%94%9F%E6%80%81/Vue%20%E7%AC%94%E8%AE%B0.html" aria-label="vue笔记及周边生态"><!---->vue笔记及周边生态<!----></a></div><div class="vp-navbar-item"><div class="vp-navbar-dropdown-wrapper"><button class="vp-navbar-dropdown-title" type="button" aria-label="袁果锅生态"><span class="title">袁果锅生态</span><span class="arrow down"></span></button><button class="vp-navbar-dropdown-title-mobile" type="button" aria-label="袁果锅生态"><span class="title">袁果锅生态</span><span class="right arrow"></span></button><ul style="display:none;" class="vp-navbar-dropdown"><!--[--><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/%E8%A2%81%E6%9E%9C%E9%94%85%E7%94%9F%E6%80%81/%E5%9B%A2%E9%98%9F%E5%8D%8F%E4%BD%9C%E5%8F%8A%E8%A7%84%E8%8C%83/%E5%91%BD%E5%90%8D_%20%E5%BC%80%E5%8F%91%E6%9C%9F%E9%97%B4%E7%9A%84%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83.html" aria-label="团队协作及规范"><!---->团队协作及规范<!----></a></li><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/%E8%A2%81%E6%9E%9C%E9%94%85%E7%94%9F%E6%80%81/%E9%A1%B9%E7%9B%AE%E6%A1%86%E6%9E%B6%E5%8F%8A%E6%9E%B6%E6%9E%84/%E9%87%8D%E8%A6%81_%E6%A1%86%E6%9E%B6%20-%20%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE%E7%BA%A6%E6%9D%9F.html" aria-label="项目框架及架构"><!---->项目框架及架构<!----></a></li><!--]--></ul></div></div><div class="vp-navbar-item"><div class="vp-navbar-dropdown-wrapper"><button class="vp-navbar-dropdown-title" type="button" aria-label="个人笔记"><span class="title">个人笔记</span><span class="arrow down"></span></button><button class="vp-navbar-dropdown-title-mobile" type="button" aria-label="个人笔记"><span class="title">个人笔记</span><span class="right arrow"></span></button><ul style="display:none;" class="vp-navbar-dropdown"><!--[--><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/%E9%A3%9E%E7%A0%81%E7%AF%87/Uni-App%E7%AC%94%E8%AE%B0.html" aria-label="飞码篇"><!---->飞码篇<!----></a></li><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/Java/Java%20%E5%9F%BA%E7%A1%80.html" aria-label="Java"><!---->Java<!----></a></li><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/React%E7%AC%94%E8%AE%B0/React%20%E7%AC%94%E8%AE%B0.html" aria-label="React笔记"><!---->React笔记<!----></a></li><!--]--></ul></div></div><div class="vp-navbar-item"><a class="auto-link external-link" href="https://github.com/shixindea/shixinde-notes" aria-label="GitHub" rel="noopener noreferrer" target="_blank"><!---->GitHub<!----></a></div><!--]--></nav><!--[--><!--]--><button class="vp-toggle-color-mode-button" title="toggle color mode"><svg class="light-icon" viewbox="0 0 32 32" style=""><path d="M16 12.005a4 4 0 1 1-4 4a4.005 4.005 0 0 1 4-4m0-2a6 6 0 1 0 6 6a6 6 0 0 0-6-6z" fill="currentColor"></path><path d="M5.394 6.813l1.414-1.415l3.506 3.506L8.9 10.318z" fill="currentColor"></path><path d="M2 15.005h5v2H2z" fill="currentColor"></path><path d="M5.394 25.197L8.9 21.691l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 25.005h2v5h-2z" fill="currentColor"></path><path d="M21.687 23.106l1.414-1.415l3.506 3.506l-1.414 1.414z" fill="currentColor"></path><path d="M25 15.005h5v2h-5z" fill="currentColor"></path><path d="M21.687 8.904l3.506-3.506l1.414 1.415l-3.506 3.505z" fill="currentColor"></path><path d="M15 2.005h2v5h-2z" fill="currentColor"></path></svg><svg class="dark-icon" viewbox="0 0 32 32" style="display:none;"><path d="M13.502 5.414a15.075 15.075 0 0 0 11.594 18.194a11.113 11.113 0 0 1-7.975 3.39c-.138 0-.278.005-.418 0a11.094 11.094 0 0 1-3.2-21.584M14.98 3a1.002 1.002 0 0 0-.175.016a13.096 13.096 0 0 0 1.825 25.981c.164.006.328 0 .49 0a13.072 13.072 0 0 0 10.703-5.555a1.01 1.01 0 0 0-.783-1.565A13.08 13.08 0 0 1 15.89 4.38A1.015 1.015 0 0 0 14.98 3z" fill="currentColor"></path></svg></button><!--[--><button type="button" class="search-pro-button" aria-label="搜索"><svg xmlns="http://www.w3.org/2000/svg" class="icon search-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="search icon" name="search"><path d="M192 480a256 256 0 1 1 512 0 256 256 0 0 1-512 0m631.776 362.496-143.2-143.168A318.464 318.464 0 0 0 768 480c0-176.736-143.264-320-320-320S128 303.264 128 480s143.264 320 320 320a318.016 318.016 0 0 0 184.16-58.592l146.336 146.368c12.512 12.48 32.768 12.48 45.28 0 12.48-12.512 12.48-32.768 0-45.28"></path></svg><div class="search-pro-placeholder">搜索</div><div class="search-pro-key-hints"><kbd class="search-pro-key">Ctrl</kbd><kbd class="search-pro-key">K</kbd></div></button><!--]--></div></header><!--]--><div class="vp-sidebar-mask"></div><!--[--><aside class="vp-sidebar"><nav class="vp-navbar-items" aria-label="site navigation"><!--[--><div class="vp-navbar-item"><a class="route-link auto-link" href="/guoguo-notes/" aria-label="主页"><!---->主页<!----></a></div><div class="vp-navbar-item"><a class="route-link auto-link" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E7%BD%91%E7%AB%99%E9%85%8D%E8%89%B2.html" aria-label="常用笔记"><!---->常用笔记<!----></a></div><div class="vp-navbar-item"><a class="route-link auto-link" href="/guoguo-notes/vue%E7%AC%94%E8%AE%B0%E5%8F%8A%E5%91%A8%E8%BE%B9%E7%94%9F%E6%80%81/Vue%20%E7%AC%94%E8%AE%B0.html" aria-label="vue笔记及周边生态"><!---->vue笔记及周边生态<!----></a></div><div class="vp-navbar-item"><div class="vp-navbar-dropdown-wrapper"><button class="vp-navbar-dropdown-title" type="button" aria-label="袁果锅生态"><span class="title">袁果锅生态</span><span class="arrow down"></span></button><button class="vp-navbar-dropdown-title-mobile" type="button" aria-label="袁果锅生态"><span class="title">袁果锅生态</span><span class="right arrow"></span></button><ul style="display:none;" class="vp-navbar-dropdown"><!--[--><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/%E8%A2%81%E6%9E%9C%E9%94%85%E7%94%9F%E6%80%81/%E5%9B%A2%E9%98%9F%E5%8D%8F%E4%BD%9C%E5%8F%8A%E8%A7%84%E8%8C%83/%E5%91%BD%E5%90%8D_%20%E5%BC%80%E5%8F%91%E6%9C%9F%E9%97%B4%E7%9A%84%E5%91%BD%E5%90%8D%E8%A7%84%E8%8C%83.html" aria-label="团队协作及规范"><!---->团队协作及规范<!----></a></li><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/%E8%A2%81%E6%9E%9C%E9%94%85%E7%94%9F%E6%80%81/%E9%A1%B9%E7%9B%AE%E6%A1%86%E6%9E%B6%E5%8F%8A%E6%9E%B6%E6%9E%84/%E9%87%8D%E8%A6%81_%E6%A1%86%E6%9E%B6%20-%20%E5%88%9D%E5%A7%8B%E5%8C%96%E9%A1%B9%E7%9B%AE%E7%BA%A6%E6%9D%9F.html" aria-label="项目框架及架构"><!---->项目框架及架构<!----></a></li><!--]--></ul></div></div><div class="vp-navbar-item"><div class="vp-navbar-dropdown-wrapper"><button class="vp-navbar-dropdown-title" type="button" aria-label="个人笔记"><span class="title">个人笔记</span><span class="arrow down"></span></button><button class="vp-navbar-dropdown-title-mobile" type="button" aria-label="个人笔记"><span class="title">个人笔记</span><span class="right arrow"></span></button><ul style="display:none;" class="vp-navbar-dropdown"><!--[--><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/%E9%A3%9E%E7%A0%81%E7%AF%87/Uni-App%E7%AC%94%E8%AE%B0.html" aria-label="飞码篇"><!---->飞码篇<!----></a></li><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/Java/Java%20%E5%9F%BA%E7%A1%80.html" aria-label="Java"><!---->Java<!----></a></li><li class="vp-navbar-dropdown-item"><a class="route-link auto-link" href="/guoguo-notes/React%E7%AC%94%E8%AE%B0/React%20%E7%AC%94%E8%AE%B0.html" aria-label="React笔记"><!---->React笔记<!----></a></li><!--]--></ul></div></div><div class="vp-navbar-item"><a class="auto-link external-link" href="https://github.com/shixindea/shixinde-notes" aria-label="GitHub" rel="noopener noreferrer" target="_blank"><!---->GitHub<!----></a></div><!--]--></nav><!--[--><!--]--><ul class="vp-sidebar-items"><!--[--><li><p tabindex="0" class="vp-sidebar-item vp-sidebar-heading active">常用笔记 <!----></p><ul style="" class="vp-sidebar-children"><!--[--><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/CSS%E7%AC%94%E8%AE%B0.html" aria-label="1. CSS笔记.md"><!---->1. CSS笔记.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/Echarts.html" aria-label="2. Echarts.md"><!---->2. Echarts.md<!----></a><!----></li><li><a class="route-link route-link-active auto-link vp-sidebar-item active" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/Git%20%E4%BB%A3%E7%A0%81%E7%AE%A1%E7%90%86.html" aria-label="3. Git 代码管理.md"><!---->3. Git 代码管理.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/Html%20%E7%AC%94%E8%AE%B0.html" aria-label="4. Html 笔记.md"><!---->4. Html 笔记.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/TypeScript.html" aria-label="5. TypeScript.md"><!---->5. TypeScript.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/axios%20%E8%AF%B7%E6%B1%82%E6%8B%A6%E6%88%AA.html" aria-label="6. axios 请求拦截.md"><!---->6. axios 请求拦截.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/js%E5%B8%B8%E8%A7%84.html" aria-label="7. js常规.md"><!---->7. js常规.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/npm.html" aria-label="8. npm.md"><!---->8. npm.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/sh%20%E7%AC%94%E8%AE%B0.html" aria-label="9. sh 笔记.md"><!---->9. sh 笔记.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/valibot%E6%A0%A1%E9%AA%8C%E5%AD%A6%E4%B9%A0.html" aria-label="10. valibot校验学习.md"><!---->10. valibot校验学习.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E4%BA%91%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B.html" aria-label="11. 云开发教程.md"><!---->11. 云开发教程.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E5%85%AC%E5%85%B1API%E6%8E%A5%E5%8F%A3.html" aria-label="12. 公共API接口.md"><!---->12. 公共API接口.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%AC%94%E8%AE%B0.html" aria-label="13. 小程序笔记.md"><!---->13. 小程序笔记.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E6%8F%92%E4%BB%B6%E5%BA%93.html" aria-label="14. 插件库.md"><!---->14. 插件库.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E6%9C%8D%E5%8A%A1%E5%99%A8.html" aria-label="15. 服务器.md"><!---->15. 服务器.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%A8%E7%BD%B2%E6%95%99%E5%AD%A6.html" aria-label="16. 服务器部署教学.md"><!---->16. 服务器部署教学.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E6%B5%8F%E8%A7%88%E5%99%A8px%20to%20rem%E9%80%82%E9%85%8D.html" aria-label="17. 浏览器px to rem适配.md"><!---->17. 浏览器px to rem适配.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E7%99%BB%E5%BD%95%E9%80%BB%E8%BE%91.html" aria-label="18. 登录逻辑.md"><!---->18. 登录逻辑.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E7%BD%91%E7%AB%99%E9%85%8D%E8%89%B2.html" aria-label="19. 网站配色.md"><!---->19. 网站配色.md<!----></a><!----></li><li><a class="route-link auto-link vp-sidebar-item" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/%E8%B7%A8%E5%9F%9F%E4%BB%A3%E7%90%86.html" aria-label="20. 跨域代理.md"><!---->20. 跨域代理.md<!----></a><!----></li><!--]--></ul></li><!--]--></ul><!--[--><!--]--></aside><!--]--><!--[--><main class="vp-page"><!--[--><!--]--><div class="theme-default-content"><!--[--><!--]--><div><h2 id="插件安装-vue-tsc-pnpm-lint-fix" tabindex="-1"><a class="header-anchor" href="#插件安装-vue-tsc-pnpm-lint-fix"><span>插件安装 vue-tsc <code>== &gt;</code> pnpm lint:fix</span></a></h2><p>安装: npm i vue-tsc -D</p><p>安装: npm install --save prettier -D</p><p>用法:vue-tsc --noEmit &amp;&amp; vite build</p><p>Vue 3 命令行类型检查工具基于 IDE 插件 <a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener noreferrer">Volar</a>。</p><blockquote><p>package.json 中添加</p></blockquote><div class="language-diff line-numbers-mode" data-highlighter="prismjs" data-ext="diff" data-title="diff"><pre class="language-diff"><code><span class="line"><span class="token unchanged"><span class="token prefix unchanged"> </span><span class="token line"> &quot;scripts&quot;: {</span>
<span class="line"></span><span class="token prefix unchanged"> </span><span class="token line">   &quot;dev&quot;: &quot;vite&quot;,</span>
<span class="line"></span><span class="token prefix unchanged"> </span><span class="token line">   &quot;build&quot;: &quot;run-p type-check \&quot;build-only {@}\&quot; --&quot;,</span>
<span class="line"></span><span class="token prefix unchanged"> </span><span class="token line">   &quot;preview&quot;: &quot;vite preview&quot;,</span>
<span class="line"></span><span class="token prefix unchanged"> </span><span class="token line">   &quot;build-only&quot;: &quot;vite build&quot;,</span>
<span class="line"></span><span class="token prefix unchanged"> </span><span class="token line">   &quot;type-check&quot;: &quot;vue-tsc --build --force&quot;,</span>
<span class="line"></span><span class="token prefix unchanged"> </span><span class="token line">   &quot;lint&quot;: &quot;eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore&quot;,</span>
<span class="line"></span><span class="token prefix unchanged"> </span><span class="token line">   &quot;format&quot;: &quot;prettier --write src/&quot;,</span>
<span class="line"></span></span><span class="token inserted-sign inserted"><span class="token prefix inserted">+</span><span class="token line">    &quot;lint:fix&quot;: &quot;vue-tsc --noEmit &amp;&amp; prettier --write .&quot;,</span>
<span class="line"></span><span class="token prefix inserted">+</span><span class="token line">    &quot;gitcz&quot;: &quot;git cz&quot;</span>
<span class="line"></span></span><span class="token unchanged"><span class="token prefix unchanged"> </span><span class="token line"> },</span>
<span class="line"></span></span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="插件安装-pnpm-gitcz" tabindex="-1"><a class="header-anchor" href="#插件安装-pnpm-gitcz"><span>插件安装 <code>== &gt;</code> pnpm gitcz</span></a></h2><blockquote><p>只需要简单的三个步骤:</p></blockquote><p><a href="https://cz-git.qbb.sh/zh/guide/#%E5%85%A8%E5%B1%80%E4%BD%BF%E7%94%A8" target="_blank" rel="noopener noreferrer">全局安装</a> <code>commitizen</code>,如此一来可以快速使用 <code>cz</code> 或 <code>git cz</code> 命令进行启动。</p><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">npm install -g commitizen</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="步骤-1-下载依赖" tabindex="-1"><a class="header-anchor" href="#步骤-1-下载依赖"><span>步骤 1: 下载依赖</span></a></h4><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">npm install -D cz-git</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="步骤-2-修改-package-json-添加-config-指定使用的适配器" tabindex="-1"><a class="header-anchor" href="#步骤-2-修改-package-json-添加-config-指定使用的适配器"><span>步骤 2: 修改 <code>package.json</code> 添加 <code>config</code> 指定使用的适配器</span></a></h4><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">{</span>
<span class="line">  &quot;scripts&quot;: {</span>
<span class="line"></span>
<span class="line">  },</span>
<span class="line"> &quot;config&quot;: {</span>
<span class="line">    &quot;commitizen&quot;: {</span>
<span class="line">      &quot;path&quot;: &quot;n</span>
<span class="line">      ode_modules/cz-git&quot;,</span>
<span class="line">      &quot;czConfig&quot;: &quot;./commitlint.config.cjs&quot;</span>
<span class="line">    }</span>
<span class="line">  },</span>
<span class="line">}</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="步骤3-创建-commitlint-config-cjs-文件" tabindex="-1"><a class="header-anchor" href="#步骤3-创建-commitlint-config-cjs-文件"><span>步骤3:创建 commitlint.config.cjs 文件</span></a></h4><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js" data-title="js"><pre class="language-javascript"><code><span class="line"><span class="token comment">// .commitlintrc.js</span></span>
<span class="line"><span class="token doc-comment comment">/** <span class="token keyword">@type</span> <span class="token class-name"><span class="token punctuation">{</span><span class="token keyword">import</span><span class="token punctuation">(</span><span class="token string">&#39;cz-git&#39;</span><span class="token punctuation">)</span><span class="token punctuation">.</span>UserConfig<span class="token punctuation">}</span></span> */</span></span>
<span class="line">module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span></span>
<span class="line">  <span class="token literal-property property">rules</span><span class="token operator">:</span> <span class="token punctuation">{</span></span>
<span class="line">    <span class="token comment">// @see: https://commitlint.js.org/#/reference-rules</span></span>
<span class="line">  <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">  <span class="token literal-property property">prompt</span><span class="token operator">:</span> <span class="token punctuation">{</span></span>
<span class="line">    <span class="token literal-property property">alias</span><span class="token operator">:</span> <span class="token punctuation">{</span> <span class="token literal-property property">fd</span><span class="token operator">:</span> <span class="token string">&quot;docs: fix typos&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">messages</span><span class="token operator">:</span> <span class="token punctuation">{</span></span>
<span class="line">      <span class="token literal-property property">type</span><span class="token operator">:</span> <span class="token string">&quot;选择你要提交的类型 :&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">scope</span><span class="token operator">:</span> <span class="token string">&quot;选择一个提交范围(可选):&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">customScope</span><span class="token operator">:</span> <span class="token string">&quot;请输入自定义的提交范围 :&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">subject</span><span class="token operator">:</span> <span class="token string">&quot;填写简短精炼的变更描述 :\n&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">body</span><span class="token operator">:</span> <span class="token string">&#39;填写更加详细的变更描述(可选)。使用 &quot;|&quot; 换行 :\n&#39;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">breaking</span><span class="token operator">:</span> <span class="token string">&#39;列举非兼容性重大的变更(可选)。使用 &quot;|&quot; 换行 :\n&#39;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">footerPrefixesSelect</span><span class="token operator">:</span> <span class="token string">&quot;选择关联issue前缀(可选):&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">customFooterPrefix</span><span class="token operator">:</span> <span class="token string">&quot;输入自定义issue前缀 :&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">footer</span><span class="token operator">:</span> <span class="token string">&quot;列举关联issue (可选) 例如: #31, #I3244 :\n&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">generatingByAI</span><span class="token operator">:</span> <span class="token string">&quot;正在通过 AI 生成你的提交简短描述...&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">generatedSelectByAI</span><span class="token operator">:</span> <span class="token string">&quot;选择一个 AI 生成的简短描述:&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token literal-property property">confirmCommit</span><span class="token operator">:</span> <span class="token string">&quot;是否提交或修改commit ?&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">types</span><span class="token operator">:</span> <span class="token punctuation">[</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;特性&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;特性:     新增功能&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;修复&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;修复:     修复Bug&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;冲突&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;冲突:     代码合并,冲突处理&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span></span>
<span class="line">        <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;格式&quot;</span><span class="token punctuation">,</span></span>
<span class="line">        <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;格式:     代码格式(不影响功能,例如空格、分号等格式修正)&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span></span>
<span class="line">        <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;重构&quot;</span><span class="token punctuation">,</span></span>
<span class="line">        <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;重构:     代码重构(不包括 bug 修复、功能新增)&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;性能&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;性能:     性能优化&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;测试&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;测试:     添加疏漏测试或已有测试改动&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span></span>
<span class="line">        <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;构建&quot;</span><span class="token punctuation">,</span></span>
<span class="line">        <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;构建:     构建流程、外部依赖变更(如升级 npm 包、修改 webpack 配置等)&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;集成&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;集成:     修改 CI 配置、脚本&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;回退&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;回退:     回滚 commit&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span></span>
<span class="line">        <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;其他&quot;</span><span class="token punctuation">,</span></span>
<span class="line">        <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;其他:     对构建过程或辅助工具和库的更改(不影响源文件、测试用例)&quot;</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token punctuation">]</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">useEmoji</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">emojiAlign</span><span class="token operator">:</span> <span class="token string">&quot;center&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">useAI</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">aiNumber</span><span class="token operator">:</span> <span class="token number">1</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">themeColorCode</span><span class="token operator">:</span> <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">scopes</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">allowCustomScopes</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">allowEmptyScopes</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">customScopesAlign</span><span class="token operator">:</span> <span class="token string">&quot;bottom&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">customScopesAlias</span><span class="token operator">:</span> <span class="token string">&quot;以上都不是?我要自定义&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">emptyScopesAlias</span><span class="token operator">:</span> <span class="token string">&quot;跳过&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">upperCaseSubject</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">markBreakingChangeMode</span><span class="token operator">:</span> <span class="token boolean">false</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">allowBreakingChanges</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">&quot;feat&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;fix&quot;</span><span class="token punctuation">]</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">breaklineNumber</span><span class="token operator">:</span> <span class="token number">100</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">breaklineChar</span><span class="token operator">:</span> <span class="token string">&quot;|&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">skipQuestions</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">issuePrefixes</span><span class="token operator">:</span> <span class="token punctuation">[</span></span>
<span class="line">      <span class="token comment">// 如果使用 gitee 作为开发管理</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;link&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;link:     链接 ISSUES 进行中&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">      <span class="token punctuation">{</span> <span class="token literal-property property">value</span><span class="token operator">:</span> <span class="token string">&quot;closed&quot;</span><span class="token punctuation">,</span> <span class="token literal-property property">name</span><span class="token operator">:</span> <span class="token string">&quot;closed:   标记 ISSUES 已完成&quot;</span> <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token punctuation">]</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">customIssuePrefixAlign</span><span class="token operator">:</span> <span class="token string">&quot;top&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">emptyIssuePrefixAlias</span><span class="token operator">:</span> <span class="token string">&quot;跳过&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">customIssuePrefixAlias</span><span class="token operator">:</span> <span class="token string">&quot;自定义前缀&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">allowCustomIssuePrefix</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">allowEmptyIssuePrefix</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">confirmColorize</span><span class="token operator">:</span> <span class="token boolean">true</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">maxHeaderLength</span><span class="token operator">:</span> <span class="token number">Infinity</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">maxSubjectLength</span><span class="token operator">:</span> <span class="token number">Infinity</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">minSubjectLength</span><span class="token operator">:</span> <span class="token number">0</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">scopeOverrides</span><span class="token operator">:</span> <span class="token keyword">undefined</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">defaultBody</span><span class="token operator">:</span> <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">defaultIssues</span><span class="token operator">:</span> <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">defaultScope</span><span class="token operator">:</span> <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></span>
<span class="line">    <span class="token literal-property property">defaultSubject</span><span class="token operator">:</span> <span class="token string">&quot;&quot;</span><span class="token punctuation">,</span></span>
<span class="line">  <span class="token punctuation">}</span><span class="token punctuation">,</span></span>
<span class="line"><span class="token punctuation">}</span><span class="token punctuation">;</span></span>
<span class="line"></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="袁果锅生态" tabindex="-1"><a class="header-anchor" href="#袁果锅生态"><span>袁果锅生态</span></a></h2><p>用于 git cz 提交规范</p><ol><li>安装依赖</li></ol><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">npm install cz-customizable</span>
<span class="line">npm install @shixinde/guoguo-cz</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><ol><li>配置</li></ol><p>在 package.json 中添加 <code>config.commitizen </code> 配置</p><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">  &quot;scripts&quot;: {</span>
<span class="line">     &quot;gitcz&quot;: &quot;git-cz&quot;</span>
<span class="line">    },</span>
<span class="line">  &quot;config&quot;: {</span>
<span class="line">    &quot;commitizen&quot;: {</span>
<span class="line">      &quot;path&quot;: &quot;node_modules/cz-customizable&quot;</span>
<span class="line">    },</span>
<span class="line">    &quot;cz-customizable&quot;: {</span>
<span class="line">      &quot;config&quot;: &quot;node_modules/@shixinde/guoguo-cz/commitlint.config.cjs&quot;</span>
<span class="line">    }</span>
<span class="line">  }</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="扩展-格式化工具" tabindex="-1"><a class="header-anchor" href="#扩展-格式化工具"><span>扩展: 格式化工具</span></a></h2><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">安装</span>
<span class="line">  npm install -D prettier pretty-quick</span>
<span class="line"></span>
<span class="line"> </span>
<span class="line">执行</span>
<span class="line">  &quot;scripts&quot;: {</span>
<span class="line">    &quot;lint&quot;: &quot;pretty-quick --staged&quot;,</span>
<span class="line">  },</span>
<span class="line"></span>
<span class="line">使用</span>
<span class="line">  npm run lint | pnpm lint</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="插件安装-pnpm-gitcz-1" tabindex="-1"><a class="header-anchor" href="#插件安装-pnpm-gitcz-1"><span>插件安装 <code>== &gt;</code> pnpm gitcz</span></a></h2><p>安装 :<code>npm install -g commitizen</code></p><p>安装: <code>commitizen init cz-conventional-changelog --save --save-exact</code></p><p>安装: <code>npm install @fe6/norm-git-cz-config</code></p><blockquote><p>新增加一个文件 <code>commitlint.config.cjs</code> <strong>并添加内容</strong></p></blockquote><div class="language-javascript line-numbers-mode" data-highlighter="prismjs" data-ext="js" data-title="js"><pre class="language-javascript"><code><span class="line"><span class="token doc-comment comment">/** <span class="token keyword">@format</span> */</span></span>
<span class="line"></span>
<span class="line">module<span class="token punctuation">.</span>exports <span class="token operator">=</span> <span class="token punctuation">{</span></span>
<span class="line">  <span class="token keyword">extends</span><span class="token operator">:</span> <span class="token punctuation">[</span><span class="token string">&quot;@fe6/norm-git-cz-config&quot;</span><span class="token punctuation">]</span><span class="token punctuation">,</span></span>
<span class="line"><span class="token punctuation">}</span><span class="token punctuation">;</span></span>
<span class="line"></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>package.json 中添加</p></blockquote><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">  &quot;config&quot;: {</span>
<span class="line">    &quot;commitizen&quot;: {</span>
<span class="line">      &quot;path&quot;: &quot;node_modules/cz-customizable&quot;</span>
<span class="line">    },</span>
<span class="line">    &quot;cz-customizable&quot;: {</span>
<span class="line">      &quot;config&quot;: &quot;node_modules/@fe6/norm-git-cz-config/customizable.js&quot;</span>
<span class="line">    }</span>
<span class="line">  }</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><img src="https://www.runoob.com/wp-content/uploads/2015/02/011500266295799.jpg" alt="img"></p><div class="language-git line-numbers-mode" data-highlighter="prismjs" data-ext="git" data-title="git"><pre class="language-git"><code><span class="line">在本地新建一个分支: git branch newBranch</span>
<span class="line">切换到你的新分支: git checkout newBranch</span>
<span class="line">创建并切换到新分支: git checkout -b newBranch</span>
<span class="line">将新分支发布在github上: git push origin newBranch</span>
<span class="line">在本地删除一个分支: git branch -d newBranch</span>
<span class="line">在github远程端删除一个分支: git push origin :newBranch (分支名前的冒号代表删除)</span>
<span class="line">                        </span>
<span class="line">原文链接:https://blog.csdn.net/qq_25623355/article/details/99292715</span>
<span class="line">git init                                                  # 初始化本地git仓库(创建新仓库)</span>
<span class="line">git config --global user.name <span class="token string">&quot;xxx&quot;</span>                       # 配置用户名</span>
<span class="line">git config --global user.email <span class="token string">&quot;xxx@xxx.com&quot;</span>              # 配置邮件</span>
<span class="line">git config --global color.ui true                         # git status等命令自动着色</span>
<span class="line">git config --global color.status auto</span>
<span class="line">git config --global color.diff auto</span>
<span class="line">git config --global color.branch auto</span>
<span class="line">git config --global color.interactive auto</span>
<span class="line">git config --global --unset http.proxy                    # remove  proxy configuration on git</span>
<span class="line">git clone git+ssh://git@192.168.53.168/VT.git             # clone远程仓库</span>
<span class="line">git status                                                # 查看当前版本状态(是否修改)</span>
<span class="line">git add xyz                                               # 添加xyz文件至index</span>
<span class="line">git add .                                                 # 增加当前子目录下所有更改过的文件至index</span>
<span class="line">git commit -m <span class="token string">&#39;xxx&#39;</span>                                       # 提交</span>
<span class="line">git commit --amend -m <span class="token string">&#39;xxx&#39;</span>                               # 合并上一次提交(用于反复修改)</span>
<span class="line">git commit -am <span class="token string">&#39;xxx&#39;</span>                                      # 将add和commit合为一步</span>
<span class="line">git rm xxx                                                # 删除index中的文件</span>
<span class="line">git rm -r *                                               # 递归删除</span>
<span class="line">git log                                                   # 显示提交日志</span>
<span class="line">git log -1                                                # 显示1行日志 -n为n行</span>
<span class="line">git log -5</span>
<span class="line">git log --stat                                            # 显示提交日志及相关变动文件</span>
<span class="line">git log -p -m</span>
<span class="line">git show dfb02e6e4f2f7b573337763e5c0013802e392818         # 显示某个提交的详细内容</span>
<span class="line">git show dfb02                                            # 可只用commitid的前几位</span>
<span class="line">git show HEAD                                             # 显示HEAD提交日志</span>
<span class="line">git show HEAD^                                            # 显示HEAD的父(上一个版本)的提交日志 ^^为上两个版本 ^5为上5个版本</span>
<span class="line">git tag                                                   # 显示已存在的tag</span>
<span class="line">git tag -a v2.0 -m <span class="token string">&#39;xxx&#39;</span>                                  # 增加v2.0的tag</span>
<span class="line">git show v2.0                                             # 显示v2.0的日志及详细内容</span>
<span class="line">git log v2.0                                              # 显示v2.0的日志</span>
<span class="line">git diff                                                  # 显示所有未添加至index的变更</span>
<span class="line">git diff --cached                                         # 显示所有已添加index但还未commit的变更</span>
<span class="line">git diff HEAD^                                            # 比较与上一个版本的差异</span>
<span class="line">git diff HEAD -- ./lib                                    # 比较与HEAD版本lib目录的差异</span>
<span class="line">git diff origin/master..master                            # 比较远程分支master上有本地分支master上没有的</span>
<span class="line">git diff origin/master..master --stat                     # 只显示差异的文件,不显示具体内容</span>
<span class="line">git remote add origin git+ssh://git@192.168.53.168/VT.git # 增加远程定义(用于push/pull/fetch)</span>
<span class="line">git branch                                                # 显示本地分支</span>
<span class="line">git branch --contains 50089                               # 显示包含提交50089的分支</span>
<span class="line">git branch -a                                             # 显示所有分支</span>
<span class="line">git branch -r                                             # 显示所有原创分支</span>
<span class="line">git branch --merged                                       # 显示所有已合并到当前分支的分支</span>
<span class="line">git branch --no-merged                                    # 显示所有未合并到当前分支的分支</span>
<span class="line">git branch -m master master_copy                          # 本地分支改名</span>
<span class="line">git checkout -b master_copy                               # 从当前分支创建新分支master_copy并检出</span>
<span class="line">git checkout -b master master_copy                        # 上面的完整版</span>
<span class="line">git checkout features/performance                         # 检出已存在的features/performance分支</span>
<span class="line">git checkout --track hotfixes/BJVEP933                    # 检出远程分支hotfixes/BJVEP933并创建本地跟踪分支</span>
<span class="line">git checkout v2.0                                         # 检出版本v2.0</span>
<span class="line">git checkout -b devel origin/develop                      # 从远程分支develop创建新本地分支devel并检出</span>
<span class="line">git checkout -- README                                    # 检出head版本的README文件(可用于修改错误回退)</span>
<span class="line">git merge origin/master                                   # 合并远程master分支至当前分支</span>
<span class="line">git cherry-pick ff44785404a8e                             # 合并提交ff44785404a8e的修改</span>
<span class="line">git push origin master                                    # 将当前分支push到远程master分支</span>
<span class="line">git push origin :hotfixes/BJVEP933                        # 删除远程仓库的hotfixes/BJVEP933分支</span>
<span class="line">git push --tags                                           # 把所有tag推送到远程仓库</span>
<span class="line">git fetch                                                 # 获取所有远程分支(不更新本地分支,另需merge)</span>
<span class="line">git fetch --prune                                         # 获取所有原创分支并清除服务器上已删掉的分支</span>
<span class="line">git pull origin master                                    # 获取远程分支master并merge到当前分支</span>
<span class="line">git mv README README2                                     # 重命名文件README为README2</span>
<span class="line">git reset --hard HEAD                                     # 将当前版本重置为HEAD(通常用于merge失败回退)</span>
<span class="line">git rebase</span>
<span class="line">git branch -d hotfixes/BJVEP933                           # 删除分支hotfixes/BJVEP933(本分支修改已合并到其他分支)</span>
<span class="line">git branch -D hotfixes/BJVEP933                           # 强制删除分支hotfixes/BJVEP933</span>
<span class="line">git ls-files                                              # 列出git index包含的文件</span>
<span class="line">git show-branch                                           # 图示当前分支历史</span>
<span class="line">git show-branch --all                                     # 图示所有分支历史</span>
<span class="line">git whatchanged                                           # 显示提交历史对应的文件修改</span>
<span class="line">git revert dfb02e6e4f2f7b573337763e5c0013802e392818       # 撤销提交dfb02e6e4f2f7b573337763e5c0013802e392818</span>
<span class="line">git ls-tree HEAD                                          # 内部命令:显示某个git对象</span>
<span class="line">git rev-parse v2.0                                        # 内部命令:显示某个ref对于的SHA1 HASH</span>
<span class="line">git reflog                                                # 显示所有提交,包括孤立节点</span>
<span class="line">git show HEAD@{5}</span>
<span class="line">git show master@{yesterday}                               # 显示master分支昨天的状态</span>
<span class="line">git log --pretty=format:<span class="token string">&#39;%h %s&#39;</span> --graph                   # 图示提交日志</span>
<span class="line">git show HEAD~3</span>
<span class="line">git show -s --pretty=raw 2be7fcb476</span>
<span class="line">git stash                                                 # 暂存当前修改,将所有至为HEAD状态</span>
<span class="line">git stash list                                            # 查看所有暂存</span>
<span class="line">git stash show -p stash@{0}                               # 参考第一次暂存</span>
<span class="line">git stash apply stash@{0}                                 # 应用第一次暂存</span>
<span class="line">git grep <span class="token string">&quot;delete from&quot;</span>                                    # 文件中搜索文本“delete from”</span>
<span class="line">git grep -e <span class="token string">&#39;#define&#39;</span> --and -e SORT_DIRENT</span>
<span class="line">git gc   </span>
<span class="line">git fsck</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="推送-dist-文件夹到子分支-gh-pages" tabindex="-1"><a class="header-anchor" href="#推送-dist-文件夹到子分支-gh-pages"><span>推送 dist 文件夹到子分支 gh-pages</span></a></h2><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line">第一步</span>
<span class="line"></span>
<span class="line">/dist 目录需要被 git 记录,于是后面我们才可以用它作为子树(subtree),因此 /dist 不能被 .gitignore 规则排除</span>
<span class="line"></span>
<span class="line">第二步</span>
<span class="line"></span>
<span class="line">git subtree push --prefix dist origin gh-pages</span>
<span class="line"></span>
<span class="line">搞定。其中:</span>
<span class="line"></span>
<span class="line">dist 代表子树所在的目录名</span>
<span class="line">origin 是 remote name</span>
<span class="line">gh-pages 是目标分支名称</span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="当本地登陆了一个账号-但是要拉取另一个账号的git地址" tabindex="-1"><a class="header-anchor" href="#当本地登陆了一个账号-但是要拉取另一个账号的git地址"><span>当本地登陆了一个账号,但是要拉取另一个账号的git地址</span></a></h2><h1 id="git-使用采坑-the-project-you-were-looking-for-could-not-be-found-解决方式" tabindex="-1"><a class="header-anchor" href="#git-使用采坑-the-project-you-were-looking-for-could-not-be-found-解决方式"><span><a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Failijie.top%2Farchives%2Fgit-the-project-you-were-looking-for-could-not-be-found-" target="_blank" rel="noopener noreferrer">git 使用采坑 - The project you were looking for could not be found 解决方式</a></span></a></h1><p>问题描述:使用 git clone 项目,出现这个问题:The project you were looking for could not be found.</p><p>原因:gi t 自动保存 git 密码的功能(自己在单位电脑用了码云和 github 做了仓库,估计起了冲突)</p><p>解决方案一:</p><p>git clone <a href="https://www.oschina.net/action/GoToLink?url=http%3A%2F%2F@git.coding.net%2Fname%2Fproject.git" target="_blank" rel="noopener noreferrer">http://@git.coding.net/name/project.git</a> ---- 失败</p><p>添加远程地址的时候带上用户名及密码即可解决,格式如下:</p><p>git clone <a href="https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fyourname%3Apassword@git.coding.net%2Fname%2Fproject.git" target="_blank" rel="noopener noreferrer">http://yourname:password@git.coding.net/name/project.git</a> ---- 成功</p><p>解决方案二:</p><p>在自己的项目路径上加上自己的用户名, 例如: Git clone <a href="https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fgit.coding.net%2Fname%2Fproject.git" target="_blank" rel="noopener noreferrer">http://git.coding.net/name/project.git</a> ---- 失败 Git clone <a href="https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fgit%E8%B4%A6%E6%88%B7%E5%90%8D@git.coding.net%2Fname%2Fproject.git" target="_blank" rel="noopener noreferrer">http://git 账户名 @git.coding.net/name/project.git</a> 然后再弹出的密码输入指令后面输入密码 ---- 成功</p><p>解决方案三:</p><p>清除本地 git 账户,重新输入用户名密码(最优)</p><p>git config --system --unset credential.helper 之后再进行 git 操作时,弹出用户名密码窗口,输入即可</p><p>有问题,请留言!</p><h2 id="git-新建源" tabindex="-1"><a class="header-anchor" href="#git-新建源"><span>Git 新建源</span></a></h2><div class="language-text line-numbers-mode" data-highlighter="prismjs" data-ext="text" data-title="text"><pre class="language-text"><code><span class="line"># 查看方式:</span>
<span class="line">git remote -v</span>
<span class="line"></span>
<span class="line"># 修改方式:</span>
<span class="line">git地址url指定远程仓库:(常用)</span>
<span class="line">git remote set-url origin git@new.server.com:username/repo.git</span>
<span class="line"></span>
<span class="line">或者https方式:</span>
<span class="line">git remote set-url origin https://new.server.com/path/to/repo.git</span>
<span class="line"></span>
<span class="line">或者是本地的其他仓库当做remote时候:</span>
<span class="line">git remote set-url origin file:///path/to/repo.git</span>
<span class="line"></span>
<span class="line">或者甚至是亚节点:</span>
<span class="line">git remote set-url origin path/to/repo.git</span>
<span class="line"></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="指定上游分支-git-branch-u-origin-master" tabindex="-1"><a class="header-anchor" href="#指定上游分支-git-branch-u-origin-master"><span>指定上游分支 git branch -u origin/master</span></a></h2><p><code>git branch -u origin/master</code> 的作用是将当前分支的上游分支设置为远程仓库 <code>origin</code> 中的 <code>master</code> 分支6。</p><ul><li><strong>参数解析</strong>: <ul><li><strong><code>-u</code></strong>:是 <code>--set-upstream</code> 的缩写,用于指定上游分支。</li><li><strong><code>origin</code></strong>:是远程仓库的默认名称。当你克隆一个仓库时,Git 会自动将远程仓库命名为 <code>origin</code>3。</li><li><strong><code>master</code></strong>:是远程仓库 <code>origin</code> 中的主分支名称,这里指定了要将当前分支与远程 <code>origin</code> 仓库的 <code>master</code> 分支建立关联3。</li></ul></li><li><strong>设置后的效果</strong>:设置好上游分支后,执行 <code>git pull</code> 和 <code>git push</code> 等命令时,Git 会自动识别当前分支对应的远程分支,简化了操作。例如,后续你在当前分支执行 <code>git pull</code> 时,如果没有指定其他参数,Git 会默认从 <code>origin/master</code> 拉取代码;执行 <code>git push</code> 时,也会默认将当前分支的更改推送到 <code>origin/master</code>。这样可以避免每次都手动指定远程仓库和分支名称,提高操作效率。</li></ul><p>需要注意的是,<code>origin/master</code> 是一个整体的参数,表示远程仓库 <code>origin</code> 的 <code>master</code> 分支,而不是先指定 <code>origin</code> 为远程仓库,再指定 <code>master</code> 为分支。如果要设置其他本地分支的上游分支为 <code>origin/master</code>,则需要在 <code>git branch -u origin/master</code> 后加上本地分支名称。例如,<code>git branch -u origin/master mybranch</code>,表示将本地的 <code>mybranch</code> 分支的上游分支设置为 <code>origin/master</code>。</p><h2 id="git-branch-set-upstream-to-origin-master-master" tabindex="-1"><a class="header-anchor" href="#git-branch-set-upstream-to-origin-master-master"><span>git branch --set-upstream-to=origin/master master</span></a></h2><p><code>it branch -u origin/master</code> 的作用是将当前分支的上游分支设置为远程仓库 <code>origin</code> 中的 <code>master</code> 分支6。</p><ul><li><strong>参数解析</strong>: <ul><li><strong><code>-u</code></strong>:是 <code>--set-upstream</code> 的缩写,用于指定上游分支。</li><li><strong><code>origin</code></strong>:是远程仓库的默认名称。当你克隆一个仓库时,Git 会自动将远程仓库命名为 <code>origin</code>3。</li><li><strong><code>master</code></strong>:是远程仓库 <code>origin</code> 中的主分支名称,这里指定了要将当前分支与远程 <code>origin</code> 仓库的 <code>master</code> 分支建立关联3。</li></ul></li><li><strong>设置后的效果</strong>:设置好上游分支后,执行 <code>git pull</code> 和 <code>git push</code> 等命令时,Git 会自动识别当前分支对应的远程分支,简化了操作。例如,后续你在当前分支执行 <code>git pull</code> 时,如果没有指定其他参数,Git 会默认从 <code>origin/master</code> 拉取代码;执行 <code>git push</code> 时,也会默认将当前分支的更改推送到 <code>origin/master</code>。这样可以避免每次都手动指定远程仓库和分支名称,提高操作效率。</li></ul><p>需要注意的是,<code>origin/master</code> 是一个整体的参数,表示远程仓库 <code>origin</code> 的 <code>master</code> 分支,而不是先指定 <code>origin</code> 为远程仓库,再指定 <code>master</code> 为分支。如果要设置其他本地分支的上游分支为 <code>origin/master</code>,则需要在 <code>git branch -u origin/master</code> 后加上本地分支名称。例如,<code>git branch -u origin/master mybranch</code>,表示将本地的 <code>mybranch</code> 分支的上游分支设置为 <code>origin/master</code>。</p><h2 id="git-push-d2dmaster-master-d2c-master" tabindex="-1"><a class="header-anchor" href="#git-push-d2dmaster-master-d2c-master"><span>git push d2dmaster master:d2c-master</span></a></h2><p>将本地master分支的代码 提交到 【d2dmaster】 这个源的 d2c-master 分支</p><p>在 Git 中,设置账户和邮箱是配置 Git 用户信息的重要步骤。这些信息会出现在你的提交记录中,帮助标识你的身份。以下是设置账户和邮箱的详细步骤:</p><ol><li>全局设置 全局设置会影响你在本地计算机上所有仓库的提交信息。使用以下命令设置全局用户名和邮箱:</li></ol><h1 id="设置全局用户名" tabindex="-1"><a class="header-anchor" href="#设置全局用户名"><span>设置全局用户名</span></a></h1><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">git</span> config <span class="token parameter variable">--global</span> user.name <span class="token string">&quot;你的名字&quot;</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h1 id="设置全局邮箱" tabindex="-1"><a class="header-anchor" href="#设置全局邮箱"><span>设置全局邮箱</span></a></h1><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">git</span> config <span class="token parameter variable">--global</span> user.email <span class="token string">&quot;你的邮箱地址&quot;</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">git</span> config <span class="token parameter variable">--global</span> user.name <span class="token string">&quot;John Doe&quot;</span></span>
<span class="line"><span class="token function">git</span> config <span class="token parameter variable">--global</span> user.email <span class="token string">&quot;john.doe@example.com&quot;</span></span>
<span class="line"></span>
<span class="line"><span class="token function">git</span> config <span class="token parameter variable">--global</span> user.name <span class="token string">&quot;袁果锅&quot;</span></span>
<span class="line"><span class="token function">git</span> config <span class="token parameter variable">--global</span> user.email <span class="token string">&quot;2914310412@qq.com&quot;</span></span>
<span class="line"></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li>本地设置 如果你只想在某个特定的仓库中使用不同的用户名和邮箱,可以在该仓库的目录下运行以下命令:</li></ol><h1 id="在仓库目录下设置本地用户名" tabindex="-1"><a class="header-anchor" href="#在仓库目录下设置本地用户名"><span>在仓库目录下设置本地用户名</span></a></h1><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">git</span> config user.name <span class="token string">&quot;你的名字&quot;</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h1 id="在仓库目录下设置本地邮箱" tabindex="-1"><a class="header-anchor" href="#在仓库目录下设置本地邮箱"><span>在仓库目录下设置本地邮箱</span></a></h1><p>git config user.email &quot;你的邮箱地址&quot; AI写代码 例如:</p><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token builtin class-name">cd</span> /path/to/your/repo</span>
<span class="line"><span class="token function">git</span> config user.name <span class="token string">&quot;Jane Doe&quot;</span></span>
<span class="line"><span class="token function">git</span> config user.email <span class="token string">&quot;jane.doe@example.com&quot;</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>本地设置会覆盖全局设置,仅对该仓库生效。</p><ol start="3"><li>检查当前配置 你可以随时检查当前的 Git 配置信息,确认用户名和邮箱是否设置正确:</li></ol><h1 id="查看全局配置" tabindex="-1"><a class="header-anchor" href="#查看全局配置"><span>查看全局配置</span></a></h1><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">git</span> config <span class="token parameter variable">--global</span> <span class="token parameter variable">--list</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h1 id="查看本地配置" tabindex="-1"><a class="header-anchor" href="#查看本地配置"><span>查看本地配置</span></a></h1><div class="language-bash line-numbers-mode" data-highlighter="prismjs" data-ext="sh" data-title="sh"><pre class="language-bash"><code><span class="line"><span class="token function">git</span> config <span class="token parameter variable">--list</span></span>
<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ol start="4"><li>修改配置文件 Git 配置信息存储在配置文件中,你可以直接编辑这些文件来修改设置:</li></ol><p>全局配置文件:位于 ~/.gitconfig(Linux/Mac)或 %USERPROFILE%.gitconfig(Windows)。</p><p>本地配置文件:位于仓库目录下的 .git/config 文件。</p><p>你可以使用文本编辑器打开这些文件,手动修改 user.name 和 user.email 的值。</p><ol start="5"><li>注意事项 邮箱格式:确保邮箱地址格式正确,否则可能会导致提交失败或无法正确关联到你的 GitHub/GitLab 账户。</li></ol><p>隐私保护:如果你不想在公开的仓库中显示真实邮箱,可以使用 GitHub 提供的隐私邮箱功能(如 username@users.noreply.github.com)。</p><p>多账户管理:如果你需要在同一个机器上管理多个账户(例如,个人项目和工作项目),建议使用本地设置来区分不同仓库的用户名和邮箱。</p><h2 id="临时禁用凭据-可以重新切换账号" tabindex="-1"><a class="header-anchor" href="#临时禁用凭据-可以重新切换账号"><span>临时禁用凭据,可以重新切换账号</span></a></h2><h4 id="临时禁用凭据助手-只对当前仓库生效" tabindex="-1"><a class="header-anchor" href="#临时禁用凭据助手-只对当前仓库生效"><span>临时禁用凭据助手,只对当前仓库生效</span></a></h4><p>git config --local credential.helper &quot;&quot;</p><h4 id="清除-credential-helper-store-存储的凭据" tabindex="-1"><a class="header-anchor" href="#清除-credential-helper-store-存储的凭据"><span>清除 credential.helper=store 存储的凭据</span></a></h4><p>rm ~/.git-credentials</p><h4 id="清除-macos-钥匙串中存储的-git-凭据" tabindex="-1"><a class="header-anchor" href="#清除-macos-钥匙串中存储的-git-凭据"><span>清除 macOS 钥匙串中存储的 Git 凭据</span></a></h4><p>git credential-osxkeychain erase</p><h4 id="然后输入你的-git-服务器地址" tabindex="-1"><a class="header-anchor" href="#然后输入你的-git-服务器地址"><span>然后输入你的 Git 服务器地址</span></a></h4><p>host=gitlab.51qqt.com protocol=https</p><h4 id="按两次回车确认" tabindex="-1"><a class="header-anchor" href="#按两次回车确认"><span>按两次回车确认</span></a></h4></div><!--[--><!--]--></div><footer class="vp-page-meta"><div class="vp-meta-item edit-link"><a class="auto-link external-link label" href="https://github.com/shixindea/shixinde-notes/edit/main/常用笔记/Git 代码管理.md" aria-label="Edit this page" rel="noopener noreferrer" target="_blank"><!--[--><svg class="edit-icon" viewbox="0 0 1024 1024"><g fill="currentColor"><path d="M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"></path><path d="M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"></path></g></svg><!--]-->Edit this page<!----></a></div><div class="vp-meta-item git-info"><div class="vp-meta-item last-updated"><span class="meta-item-label">Last Updated: </span><!----></div><div class="vp-meta-item contributors"><span class="meta-item-label">Contributors: </span><span class="meta-item-info"><!--[--><!--[--><span class="contributor" title="email: 2914310412@qq.com">袁果锅</span><!--[-->, <!--]--><!--]--><!--[--><span class="contributor" title="email: 2914310412@qq.com">yuanxinde</span><!----><!--]--><!--]--></span></div></div></footer><nav class="vp-page-nav" aria-label="page navigation"><a class="route-link auto-link prev" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/Echarts.html" aria-label="2. Echarts.md"><div class="hint"><span class="arrow left"></span> Prev</div><div class="link"><span>2. Echarts.md</span></div></a><a class="route-link auto-link next" href="/guoguo-notes/%E5%B8%B8%E7%94%A8%E7%AC%94%E8%AE%B0/Html%20%E7%AC%94%E8%AE%B0.html" aria-label="4. Html 笔记.md"><div class="hint">Next <span class="arrow right"></span></div><div class="link"><span>4. Html 笔记.md</span></div></a></nav><!--[--><!--]--></main><!--]--></div><!--[--><!----><!----><!--]--><!--]--></div>
    <script type="module" src="/guoguo-notes/assets/app-Dx9bNbfq.js" defer></script>
  </body>
</html>