git commit message를 개선해보자

사당동씩씩이·2023년 10월 27일
0

DevMemo

목록 보기
2/4
post-thumbnail

우테코 프리시즌 1주차 과제를 제출하고 다른 분들의 코드를 보면서 큰 충격에 빠진다.
그중 가장 큰 차이는 2가지였는데

  1. 깔끔한 기능명세와 커밋메세지
  2. 기능명세서의 간결함과 단일책임원칙에 따른 코딩

우선 가장 빠르게 도입하고 수정가능한 커밋 메세지 부터 깔끔하게 작성해보고자 한다.

좋은 커밋 메세지는 뭘까?

좋은 커밋 메세지의 형식을 검색하면서 개인적으로 가장 좋은 메세지 형은은 커밋 유형(스코프): 설명으로 구성된 것이다.

예) baseball 패키지에 완성되있던 test코드에서 중복을 제거한 경우

$ git commit -m "refactor(baseball): 테스트 코드 중복 제거"

패키지명과 파일명에 목적이 잘 녹아있다면 부연설명을 더 줄일 수 있다 생각한다.

% git commit -m "feat(baseball): add countBall"

커밋 유형이란? feat? refactor?

다른 분들의 블로그를 보면 커밋의 유형을 정리해둔것을 쉽게 발견할 수 있었다.

  • feat (기능) : 새로운 기능을 추가
  • fix(수정) : 버그를 수정
  • refactor(리팩터링) : 코드를 재구성/최적화
  • docs(문서) : 문서를 업데이트 할 때
  • chore(작업) : 빌드 시스템, 패키지 관련 또는 구성 변경과 같은 작업 수행
  • style(스타일) : 코드 스타일, 들여쓰기, 공백 및 포맷팅과 관련된 변경사항
  • test(테스트) : 테스트를 추가하거나 수정, 리팩터링 한 경우
  • perf(성능) : 성능 향상ㅇ을 위한 변경사항을 나타냄
  • revert(되돌리기) : 이전 커밋을 취소함

이외 정리한 사람에 따라 rename, remove, ci 등 종류의 차이가 조금 차이가 있다.

참고1: 유재민님 블로그
참고2: 홍인성님 블로그

커밋 유형을 발표하는 기관이 있지 않을까?

개발을 공부하고 나서 결국 모든 것은 문서작성을 어떻게 하는가로 통일되고,
각기 너무 다른 스타일을 문서작성은 혼란을 가중하기 때문에 공신력 있는 기관에서 기준안을 발표하는 경우가 많았다.
git도 많이 사용되는 메세지 컨벤션이 있었다.

  1. Angular Commit Message Convention:
    feat: add new game function
  2. Conventional Commits(Conventional Commit Messages):
    feat(baseball): add new game function
  3. Semantic Commit Messages(Semantic Versioning):
    major: add new game function

1번과 2번은 거의 유사하고 많은 사람이 참고하는 듯 하다.
Angular(ANgularJS) Commit Message를 검색해 보면 다양한 문서와 포스팅이 존제하며 디테일에 차이는 있으나
위에 요약된 커밋유형 정도만 알고 작성해 버릇해도 충분하다 생각된다.

Angular 기본형은 잊지 말자 - 참고페이지

<type>[optional scope]: <description>

[optional body]

[optional footer]
profile
N잡러 대충 이것저것 해보며 대충 사는 중

0개의 댓글

관련 채용 정보