git commit提交代碼前檢測

git作爲目前最流行的版本管理工具,代碼的良好規範有助於項目的維護,我們可以在執行一些git鉤子之前檢測代碼的規範性。目前,前端主流的兩大鉤子插件分別是pre-commithusky。首先,我將介紹git鉤子,然後介紹兩種鉤子插件的使用。

1、git鉤子

我們在使用git管理代碼時經常會用到git commit、git push、git rebase等等,這些命令都是管理代碼過程中的某種狀態,也就是鉤子。我們可以在./git/hooks目錄中查看鉤子列表。

cd ./git/hooks
ls -l

2.png

2、pre-commit

安裝

npm i -D pre-commit

package.json中配置使用,pre-commit配置非常靈活

{
  "name": "demo7",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "eslint": "eslint src"
  },
  "pre-commit": [
    "eslint"
  ],
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "eslint": "^6.6.0",
    "pre-commit": "^1.2.2"
  }
}

當執行git commit時將會自動檢測代碼規範
3.png

詳情參考:
https://www.npmjs.com/package/pre-commit

3、husky

安裝

npm i -D husky

配置

{
  "name": "demo7",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "eslint": "eslint --ext .js src"
  },
  "husky": {
    "hooks": {
      "pre-commit": "npm run eslint" // 這裏要使用npm run
    }
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "eslint": "^6.6.0",
    "husky": "^3.0.9",
    "pre-commit": "^1.2.2"
  }
}

執行git commit結果:
4.png

詳情參考:
https://www.npmjs.com/package/husky

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章