오늘은 이전 시간에 설명한 conventional commit을 잘 지킬 수 있도록 도와주는 git commitizen을 사용하는 방법과 이러한 git commitizen에 이모지를 붙여서 표시할 수 있는 방법까지 알아보겠다.
Git commitizen
우선 git commitizen이란, commit 할 때 지정된 템플릿을 표시해주면서, conventional commit에 해당하는 것들을 선택하여 자동으로 완성시켜주는 패키지이다.
npm으로 설치하기 때문에 우선 node.js가 pc에 설치되어있어야한다. 이건 그냥 node.js검색해서 설치하면 되니 간단하다.
이후 bash에서 아래 코드를 수행해주면 우선 commitizen이 설치가 된다.
npm install -g commitizen
npm install -g cz-conventional-changelog
echo '{ "path": "cz-conventional-changelog" }' > ~/.czrc
그리고 기존에는 commit을 할 때 ~git commit~이라는 명령어를 사용했는데, 이 commitizen을 사용할 때는 ~cz commit~이라는 명령어를 사용한.(나머지 push나 pull 이런건 그냥 git 동일)
이렇게 하면 아래와 같은 선택창이 뜨게 된다.
우선 type을 선택할 수 있고, 다음으로 진행하면, scope, description, body 등등 이전에 설명한 conventional commit 형식에 맞는 문장들을 작성, 선택할 수 있게 된다.
CZ-EMOGI
다음으로, 이러한 git commitizen을 이용할 때, 이모지를 더해서 commit 메세지를 남기는 방법도 있다.
이런 이모지는 그냥 내가 원하는거 맘대로 붙인 이모지가 아니라, 보편적으로 git에서 사용하는 이모지라고해서 gitmojui라고 부른다. 단순 뿐만 아니라 좀 더 한눈에 알아볼 수 있는 일종의 약속이라고 한다.
우선 아래 링크에 여러 gitmoji가 있는데, 각 밑에 설명들이 있다.
또한 일부분만 설명을 해보면, 아래와 같은 것들이 있다.
🎨 | 코드의 형식 / 구조를 개선 할 때 |
⚡️ | Performance-성능이 향상되었을 때 |
🔥 | 코드 또는 파일 제거할 때 |
🐛 | 버그를 고칠 때 |
🚑 | 치명적인 버그를 고칠 때- 핫픽스 |
✨ | 새로운 기능을 소개할 때 |
📝 | 문서를 추가하거나 업데이트 할 때 |
💄 | UI / style 개선시 |
🎉 | 새 프로젝트를 시작할 때 |
🚀 | 배포 / 개발 작업 과 관련된 모든 것 |
이러한 git moji를 conventional commit에 type에 알맞게 표시해주는 패키지가 cz-emoji 이다.
(+ 나는 cz-emoji를 사용했는데, 이것과 유사한 다른 패키지들이 엄청 많다. 이건 자기가 취향가는대로 사용하면 될것 같다. 받아서 커스텀해서 사용해도 되기때문에 나는 가장 업데이트가 최신인 것을 사용했다. )
아래 npm패키지들이 있는 사이트에서 cz-emo까지만 검색해서 나오는 것들 중 선호하는 것을 사용하면 된다 어차피 설치법은 아래에서 설명할건데 거의 다 유사하다.
우선 원하는 패키지를 골랐으면 commitizen을 설치한 것과 동일하게 설치해준다.
npm install --global cz-emoji
echo '{ "path": "cz-emoji" }' > ~/.czrc
이게 끝이다! 이렇게 설치해주고 아까와 동일하게 ~cz commit~명령어를 이용해주면 이제 아래와 같이 gitmoji가 붙어서 나오게 된다.
기본 세팅 된 commitizen에는 너무 선택할 것이 많아서, 나는 자주 사용하는 것만 커스텀해서 사용중인데,
자신의 cz-emoji가 설치된 폴더 경로로 가서
나의 경우는 ~ C:\Users\DESKTOP\AppData\Roaming\npm\node_modules\cz-emoji\lib\~ 로 가서, tpyes.json을 열면 ~cz commit~을 실행했을 때 나오는 gitmoji와 선택창들이 있으니, 거기서 빼고 싶은건 빼면 된다.
끝!!!!!!!!!!!!
아직은 changelog나 vesioning은 사용할 일이 없을 것 같아서, 나중에 사용하게 될 때 포스팅해보도록 하겠다!
좋은 commit하시길!
--> 혹시 cz-emoji를 사용하여 cz commit을 할 때 아래와 같은 오류가 나는 사람들이 있을 것이다.
error: pathspec 'commit' did not match any file(s) known to git
git exited with error code 1
이건 아마 윈도우에서 발생하는 오류인데, commit message가 작은 따옴표로 감싸져서 그런 것 같다.
아래와 같이 `cz commit` 대신에 그냥 `git cz`로 commit을 수행하면 문제없이 해결된다!!
'알쓸신잡' 카테고리의 다른 글
Git pull request 및 협업 (1) | 2023.11.20 |
---|---|
Git 기본 명령어 (0) | 2023.11.20 |
티스토리 인라인 코드블럭 (0) | 2023.11.18 |
Conventional commit (1) | 2023.11.18 |
git commit message를 visual studio code로 작성하기 (0) | 2023.11.17 |