git hook,eslint&husky

위의 코드가 있다고 가정 했을 때, 저장하면 prettierrc에

위와 같이 semi를 false를 줬기 때문에  저장하게 되면 semicolon은 없어진다.

이렇게 나에게 맞게 끔, Vscode에 설정을 해놨는데, 만약에 협업 했을 때, 팀원이 저장을 안하고 Commit을 올렸다면

내가 가지고 있는 Role에 위반 될 수도 있는 것이기에, Commit history가 쌓이기 마련이다.

그래서 같은 Format을 유지하기 위한 방법은 무엇일까 했을 때 

 

Git commit 하기전에 eslint와 prettier를 한다면, 굉장히 안정성있는 코드 베이스가 있다.

그것을 도와주는 두 가지 라이브러리가 있는데.

 

lint-staged,husky

ⓐ.lint-staged
lint-staged는 Git의 staged 상태에 있는 파일들만 대상으로 작업을 수행할 수 있게 해준다. 최근 커밋에서 변경된 파일들만 ESLint와 Prettier를 적용하므로, 이를 통해 코드 스타일의 일관성을 유지할 수 있다.

git stage상태의 최근 커밋에서 변경한 내용들만 eslint랑 prettier를 쓴다. 

ⓑ.husky

 .git 폴더가 아닌 .husky 폴더에서 Git hook 동작을 정의하고 관리함으로써, 리포지토리를 통해 Git hook 설정을 공유할 수 있게 해준다.

 

설정 방법

yarn husky add .husky/pre-commit "yarn lint-staged --no-stash"  을 통해 설치 할 수 있다.

 

 

출처: FastCampus Next.js 완전 정복 : 확장성 높은 커머스 서비스 구축하기

'Git' 카테고리의 다른 글

pull fetch  (0) 2023.04.04

+ Recent posts