git hooks로 커밋 전에 console.log 남아있는지 확인하기
커밋 전에 console.log() 지워주세요 :innocent:
코드 리뷰를 몇 번이나 받아봤다고 벌써 두 번이나 이런 코멘트를 받았다.
아마 나만 이런 코멘트를 받는 것은 아닐 것이다.
나 같아도 리뷰해야 하는 코드에 이런 부분이 보이면 집어 줄 것 같다.
이대로 운영에 배포 한다고 생각한다면 끔찍하기도 하고 개발 중인 코드에도 console.log()가 있어서 흐름을 파악하는 데에 방해가 되면 되었지 도움이 될 리는 없기 때문이다. 불필요한 console.log()는 최대한 빨리 삭제하고 순수하게 필요한 코드만 남기는 습관을 들여야 한다고 생각한다. 하지만 개발에 집중하면서 커밋하고, 수정하고, 커밋하고를 반복하다보면 console.log()를 삭제해야 한다는 걸 까먹을 때가 생기는 것 같다. 오죽하면 모니터에 포스트잇으로 제발 console.log() 좀 삭제하라고 써서 붙여두었는데, 하루도 못 가서 떨어지더라.
이렇게 편리하고 자동화 된 것이 많은 시절에 console.log()만 온전히 내 기억력이나 조심성에 의존해서 제거해야 하는 것일까?
알아서
console.log()를 삭제해주는 툴은 없을까?
분명 나 말고도 수 많은 사람들이 비슷한 고민을 하고 머리 좋은 사람들이 좋은 걸 만들어두었을 거라는 생각이 들었다. 찾아보니 정말로 있었다, 자동으로 console.log()를 삭제해주는 플러그인이.
하지만 이건 dev가 아니라 실제 배포를 할 때 적용하는 거였기 때문에 내가 찾는 것과는 달랐다.
처음에는 vscode 익스텐션, 혹은 자바스크립트 내장 기능으로 검색했다. 그런데 생각해보니 내가 진짜 원하는 건 console.log() 를 ‘삭제’하는 것이 아니라 ‘커밋 전에’ console.log()를 삭제하는 것이었다. git 과 연관하여 console.log() 삭제에 대해 검색하니 바로 내가 원하는 것이 나왔다.
1 |
|
위 코드를 .git/hooks/pre-commit 파일에 추가하면 변경사항에 console.log()가 있는 경우 커밋하려고 할 때 알려준다.
이때 n를 선택하면 커밋이 취소된다. 파일명까지 알려주니 수정하기 편할 것 같다.
(만약 pre-commit 파일의 이름이 pre-commit.sample 이라면 .sample을 없애야 적용된다)
이제 쓸데없는 코드를 깃에 올리지 않을 수 있을 것 같다.
git hooks로 커밋 전에 console.log 남아있는지 확인하기
