들어가며
어떻게 하면 협업을 잘 할 수 있을까? 를 고민할 때 빠지지 않는 것 중 하나가 어떻게 하면 커밋 메세지를 잘 쓸 수 있을까? 이죠. 커밋 메세지는 코드보다 더 유연하고 동일한 이슈도 사람마다 다르게 표현할 수 있는 부분이라, 커밋 메세지가 많이 누적될 수록 가독성은 점점 떨어질 수 밖에 없어요. 코드 리뷰에 도움이 되고 작업 히스토리를 잘 관리하기 위해서 사내 커밋 메세지 스타일을 정해본 적이 있는데, 그 내용을 공유합니다.
목표는 이거인데요.
- 1커밋 1깃모지를 사용하여, 커밋 작업 단위에 대한 생각을 재고합니다.
- 1커밋 1작업단위 원칙을 준수하여, 커밋의 목적을 명확하게 하고 의사소통의 효율성을 높입니다.
- 1커밋 1이슈 를 권장하여, 이슈 작업 범위의 일관성도 동시에 노려봅니다.
그러니까 이렇게 합시다.
커밋할 때는 이렇게 하기로 해요.
:gitmoji: 제목
****(한 줄을 띄워 분리)
- 본문 (Optional)
(한 줄을 띄워 분리)
[ 이슈코드 ]
:fire: 카톡상담 삭제
****
- 카톡상담 대신 채널톡 사용
[WALL-150]
언어
한국어를 사용합시다. 커밋은 우리끼리의 공유 기록이고, 우리는 모두 한국어를 잘 하니, 한국어를 사용해요.
gitmoji
깃모지는 “Git + Emoji” 를 의미합니다. 기존에 문자로 타입을 명시하던 것 대신, 정해진 이모지를 활용하여 커밋의 목적과 의도를 명확하게 표현합니다.
gitmoji를 도입하면 다음과 같은 장점이 있어요.
- 커밋의 목적을 빠르게 인지할 수 있어요.
- 한 커밋에 하나의 목적만을 담도록 어느 정도 강제하는 역할을 합니다. 하나의 깃모지를 쓰기 위해서죠.
- 그리고.. 귀엽습니다. 재밌고요. 🤭
반대로 다음과 같은 단점이 있을 수 있어요.
- 이모지를 언제 하나하나 찾냐는 부담감을 가질 수 있어요. → 그러나 플러그인과 cli가 있습니다.
- 처음보는 사람은 의미를 알기 힘들 수 있어요. → 그러나 우리는 담당자가 정해져있는 솔루션 개발자입니다.
고로, 사용..하고 싶어요. 사용하게 해주세요...🤭
사용할 때는 이렇게 하면 편합니다.
- 깃모지가 뭐지? 싶을 때는 깃모지 사이트(https://gitmoji.dev/)에서 어떤 깃모지들이 있는지 확인해요.
- 커맨드라인 에서 사용할 때는 git-cli(https://tngusmiso.tistory.com/57) 를 설치해서 사용하시면 편해요.
- JetBrains IDE 에서는 플러그인(https://plugins.jetbrains.com/plugin/12383-gitmoji-plus-commit-button)을 설치해서 간편하게 사용할 수 있어요.
제목
- 최대 50글자(1 줄 내)가 넘지 않도록 하고, 마지막 마침표는 사용하지 않습니다.
- 문장형을 사용하지 않습니다. 주어(or 목적어)와 현재 동사로 표현해주세요.
- ex) 카톡상담 삭제
- 이왕이면 “추가, 변경, 고침, 삭제”와 비슷한 의미를 가진 단어는 “추가, 변경, 고침, 삭제” 용어로 통일해주세요.
본문 (Optional)
- 무엇을 왜 했는지에 대해 설명이 필요하다고 생각하면 작성합니다.
꼬릿말: 이슈 코드
- jira 에 등록된 이슈 코드를 입력하여, jira 에서 커밋 내역을 추적할 수 있도록 합니다.
- 커밋과 작업 내용이 일치하는 이슈는 [이슈코드]로 작성하고, 연관 이슈를 같이 기록해두고 싶다면 연관 이슈는 [Related to: 이슈코드]로 작성합니다.
마지막으로
예쁘고 가시성 좋은 커밋 메세지를 잠깐 훑어보고, 아! 이번에 누가 어떤 일을 했구나! 라고 바로 알 수 있는 날이 머지 않았다고 생각해요.
우리 모두 화이팅!!