предисловие
я смотрюVue CLI文档когда выяснилось, что вCLI服务следующийGit Hook.
После установки
@vue/cli-serviceтакже установимyorkie, это поставит вас вpackage.jsonизgitHooksХук Git удобно указать в поле:
{
"gitHooks": {
"pre-commit": "lint-staged"
}
}
yorkieэто вилкаhuskyВстроенный@vue/cliсередина.
Увидев это, я задумался над вопросом: когда я устанавливал полку vue, githook использовалhusky, то возникает проблема, так как@vue/cliОн уже встроен, зачем мне его заново устанавливать?husky, так что есть следующая история.
история
установить еще одинhuskyЗаставляет меня чувствовать себя лишним, может быть, ОКР. так что я здесьpackage.jsonпрямо в"husky": "^1.3.1"Удалил, так намного удобнее, да и эксплуатация лютая как тигр по документу.
Открытьhusky.config.js, копировать, удалять
module.exports = {
hooks: {
'pre-commit': 'npm run fix',
'commit-msg': 'commitlint -E HUSKY_GIT_PARAMS'
}
};
Открытьpackage.json, паста, слегка модифицированная
{
"gitHooks": {
"pre-commit": "npm run fix",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
}
Готово, предварительная операция 👀
git commit -m "test"
Результат: Успех!
Я просто гений, ха-ха. подожди, успех? исправление не сработало, коммитлинт не сработал.
небольшая мысль
Файлы gitHook хранятся в.git/hooks, давайте посмотрим, что происходит
Открыть.git/hooks/commit-msg
#!/bin/sh
# husky
# Hook created by Husky
# Version: 1.3.1
# At: 2019-4-10 21:26:25
# See: https://github.com/typicode/husky#readme
...
Тише? Разве это не удалено? Это потому, что поза удаления неверна?
npm uninstall husky
посмотри снова.git/hooks/commit-msgУдалил, очень доволен.
Попробуйте снова
git commit -m "test"
Результат: Успех! Так тяжело видеть неудачу.
подумай еще раз
Установитьhuskyпрямо когда.git/hooksКрючки меняются, затем с помощью@vue/cliпри создании проекта.git/hooksподключается, чтобы внести изменения, поэтому установите сноваyorkieОн тоже изменится, да, тут только один ответ.
npm i yorkie
посмотри.git/hooks/commit-msg
#!/bin/sh
#yorkie 2.0.0
command_exists () {
command -v "$1" >/dev/null 2>&1
}
...
Конечно же, третье испытание
git commit -m "test"
Результат: Неудачно! Наконец не удалось.
Error: Recieved 'HUSKY_GIT_PARAMS' as value for -E | ...
Переменные среды здесь забыли изменить, вyorkieтакже не нашел в . прочитай это.git/hooks/commit-msgдолжно бытьGIT_PARAMS.
Конечный результат: исправление работает, коммит работает.
Вы закончили 👏👏👏
Спокойный анализ
-
huskyПодобные инструменты будут создавать соответствующие хуки при их установке. -
npmсуществуетinstallа такжеuninstallСкрипт может быть выполнен, когда --"Возможно, вы не знаете npm-скриптов" - удалить зависимости не в
package.jsonудалить его прямо вnpm uninstallудалить - Читайте больше официальных документов, вас ждет много сюрпризов
- Если вы столкнулись с проблемами, попробуйте еще, добавьте исходный код в документ, и все готово.