<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 規范git commit的提交記錄

          2020-4-23    seo達人

          隨著項目體積的增加,參與到項目中的同學越來越多,每個人都有自己的打 git log 的習慣:

          • 格式 1: add: 添加...
          • 格式 2: [add]: 添加...
          • 格式 3: Add 添加...

          為了形成統一的規范,達成共識,從而降低協作開發成本,需要對 git commit 記錄進行規范。

          規范 git commit 記錄

          規范 git commit 記錄,需要做兩件事情:

          • 通過交互式命令行,自動生成符合指定規范的 commit 記錄
          • 提交記錄后,在 git hooks 中進行 commit 記錄格式檢查
          問:既然已經交互式生成了規范記錄,為什么需要在 hooks 進行檢查?

          交互式生成 commit 記錄,需要用戶調用自定義的 npm scripts,例如npm run commit。但還是可以直接調用原生 git 命令 git commit 來提交記錄。而檢查是在正式提交前進行的,因此不符合要求的記錄不會生效,需要重新 commit。

          調研:交互式 commit log 規范方案

          前期調研結果,關于 commit 提示有兩種做法:

          1. 直接使用 commitizen 中常用的 adapter
          2. 根據團隊的需要,自定義 adapter

          方法 1 的優缺點:

          優點 1: 直接安裝對應的 adapter 即可

          優點 2: 無開發成本

          缺點 1: 無法定制,不一定滿足團隊需要

          方法 2 的優缺點:

          優點 1: 可定制,滿足開發需求

          優點 2: 單獨成庫,發布 tnpm,作為技術建設

          缺點 1: 需要單獨一個倉庫(但開發成本不高)

          代碼實現

          在實際工作中,發現方法 1 中的常用規范,足夠覆蓋團隊日常開發場景。所以,選擇了方法 1.

          step1: 安裝 npm 包

          npm i --save-dev commitizen cz-conventional-changelog @commitlint/cli @commitlint/config-conventional husky

          添加 package.json 的配置:

          "scripts": { "commit": "git-cz" }, "husky": { "hooks": { "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" }
          }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" }
          }

          在項目根目錄下創建commitlint.config.js

          module.exports = { extends: ["@commitlint/config-conventional"]
          };

          使用方法:不再使用git commit -m ...,而是調用npm run commit

          <img src="https://tva1.sinaimg.cn/large/006tNbRwly1gbjcfr3xb5j30cw00tjrd.jpg" style="width: 100% !important;"/>

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.sdgs6788.com

          存檔

          色婷婷综合久久久久中文一区二区| 麻豆成人久久精品二区三区免费| 国产精品久久国产精品99盘 | 国产L精品国产亚洲区久久 | 久久人人爽人人爽人人片AV高清| 色8久久人人97超碰香蕉987| 亚洲国产精品热久久| 亚洲国产高清精品线久久 | 久久精品视频91| 浪潮AV色综合久久天堂| 国产激情久久久久影院| 欧美噜噜久久久XXX| 久久丝袜精品中文字幕| 99久久成人国产精品免费| 国产精品久久久久久久久久影院| 国产亚洲美女精品久久久久狼| 麻豆久久久9性大片| 九九热久久免费视频| 国产精品久久久久久搜索| 国产偷久久久精品专区| 久久久久久一区国产精品| 久久最新精品国产| 精品熟女少妇av免费久久| 久久精品国产亚洲αv忘忧草| 国产午夜精品久久久久九九| av无码久久久久不卡免费网站| 久久久久亚洲av成人网人人软件 | 久久夜色精品国产亚洲| 久久久久久噜噜精品免费直播 | 久久亚洲AV永久无码精品| 久久精品亚洲中文字幕无码麻豆| 午夜精品久久久久成人| 久久亚洲欧洲国产综合| 66精品综合久久久久久久| 久久精品一区二区| 久久这里只有精品首页| 2020最新久久久视精品爱| 亚洲国产精品人久久| 久久99精品免费一区二区| 久久无码一区二区三区少妇| 久久久久亚洲AV成人网|