GIT는 강력한 버전 제어 시스템이지만 본질적으로 커밋 품질을 보장하지는 않습니다. 오류, 도움이되지 않는 메시지 또는 형식이 좋지 않은 코드를 계속 커밋 할 수 있습니다. git 후크는 솔루션을 제공합니다. 이 튜토리얼은 Commit 표준을 시행하여 클리너 코드베이스 및 더 부드러운 협업을 보장하기 위해 GIT 후크를 구현하는 방법을 보여줍니다.
우리는 특정 기준을 충족하는 커밋 만 허용하는 후크를 만들 것입니다. 수표가 실패하면 유익한 오류 메시지가 수정을 안내합니다. 보너스로, 통과 커밋은 자동으로 포맷됩니다.
전제 조건
node.js, npm 및 git에 대한 기본 친숙 함이 가정됩니다. package.json
또는 git commit -m [message]
에 대해 확신이 없다면 진행하기 전에 관련 문서를 참조하십시오.
우리의 접근
종속성을 설치 한 다음 세 가지 커밋 점검을 설정합니다.
- Linting : 코드는 라인 오류가 없어야합니다.
- 단위 테스트 : 관련 단위 테스트는 통과해야합니다.
- 커밋 메시지 형식 : 메시지는 사전 정의 된 형식 (기존 커밋 형식)을 준수해야합니다.
마지막으로, Passing Commits는 Pretier를 사용하여 자동으로 포맷됩니다. 결정적으로, 이러한 검사는 단계별 파일에서만 실행되어 오버 헤드를 최소화합니다. 프로세스는 스택에 대한 비밀입니다. 선호하는 도구 (예 : 농담 대신 Mocha)에 적응하십시오.
종속성 설치
먼저 Husky (후크 관리 용) 및 Lint-Stage (무대 파일에서 라이터를 실행하는 경우)를 설치합니다.
NPM I Husky Lint-Staged-Save-Dev
다음으로 CommitLint를 Commit Message Validation :
npm install @commitlint/{config-conventional, cli} ---save-dev
Windows 사용자 :
npm install @commitlint/config-conventional @commitlint/cli --save-dev
CommitLint 구성 기존 형식을 사용하도록 구성하십시오.
echo "module.exports = {확장 : [ '@commitlint/config-conventional']}"> commitlint.config.js
사전 커밋 후크 구현
이 스크립트와 함께 package.json
가정 해 봅시다 (프로젝트에 맞게 조정) :
"스크립트": { "시작": "Webpack-dev-server ---config ./webpack.dev.js-모드 개발", "빌드": "웹 팩 ---config ./webpack.prod.js -모드 프로덕션", "테스트": "Jest", "Lint": "TSC -Noemit", "Pretier": "Pretier-Single-Quote -Print-width 80 \"**/*. {js, ts} \ "-write" }
package.json
에서 Husky 및 Lint-Stage 구성을 구성하십시오.
"허스키": { "후크": { "사전 커밋": "린트 스테이지" } }, "린트 스테이지": { "./**/*. {ts}": [ "NPM Run Lint", "NPM은 더 예쁘다" ]] }
이것은 각 커밋 전에 무대 타입 스크립트 파일에서 lint
와 prettier
실행합니다. 단위 테스트를 포함하려면 농담을 추가하십시오.
"린트 스테이지": { "./**/*. {ts}": [ "NPM Run Lint", "Jest -Bail -Coverage -FindrelatedTests", "NPM은 더 예쁘다" ]] }
커밋 메시지 검증을 위해 Husky에 commit-msg
후크를 추가하십시오.
"허스키": { "후크": { "Commit -MSG": "CommitLint -E HUSKY_GIT_PARAMS", "사전 커밋": "린트 스테이지" } },
이제 일렬 오류, 테스트 실패 또는 부적절하게 형식화 된 커밋 메시지가 감지되면 커밋이 실패합니다. Pretier는 커밋을 전달하는 자동으로 형식화됩니다. 이 간소화 된 워크 플로우는 코드 품질과 팀 협업이 크게 향상됩니다.
위 내용은 내가 걱정을 멈추고 git 훅을 사랑하는 법을 배웠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

React Ecosystem은 모두 드래그 앤 드롭의 상호 작용에 중점을 둔 많은 라이브러리를 제공합니다. 우리는 React-dnd, React-beautiful-dnd를 가지고 있습니다.

나는 자주 배경 클립을 사용한다고 말할 수 없습니다. I ' D WART IT IT는 일상적인 CSS 작업에서 거의 사용되지 않았습니다. 그러나 나는 Stefan Judis의 게시물에서 그것을 상기시켰다.

requestAnimationFrame을 사용하여 애니메이션은 쉬워야하지만 React의 문서를 철저히 읽지 않으면 몇 가지 문제가 발생할 수 있습니다.

아마도이를 사용자에게 제공하는 가장 쉬운 방법은 요소의 ID를 대상으로하는 링크 일 것입니다. 그래서 ...처럼 ...

들어보세요, 나는 GraphQL 전문가가 아니지만 함께 일하는 것을 좋아합니다. 프론트 엔드 개발자로서 데이터를 노출시키는 방법은 꽤 멋지다. 메뉴와 같습니다

이번 주에 타이포그래피를 검사하기위한 편리한 북마크 인 Roundup, JavaScript 모듈과 Facebook의 Facebook 등을 어떻게 가져 오는지 땜질하기 위해 대기하는 편리한 북마크 인 Roundup과 Facebook의


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

WebStorm Mac 버전
유용한 JavaScript 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
