코딩 규칙과 방법들

원활한 협업을 위한 '커밋 메시지' 작성 규칙

SoU330 2024. 10. 22. 22:32

 

 

 

 

커밋 컨벤션

버전 관리 시스템(Git 등)에서 커밋 메시지 작성 규칙을 정의한 것

협업하는 개발자들 간에 일관된 커밋 메시지 작성 방식을 유지함으로써 프로젝트 관리와 협업을 원활하게 해주는 중요한 규칙이다.

커밋 메시지를 체계적으로 작성하면 프로젝트의 변경 내역을 쉽게 추적할 수 있고 나중에 이력을 확인하거나 버그를 수정할 때도 많은 도움을 준다.

 

 

 

 

 

 

 

커밋 컨벤션의 기본 구조

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

 

 

 

1. 타입 (type)

커밋의 성격을 나타낸다.

타입을 명확하게 정의함으로써 어떤 종류의 변경이 이루어졌는지 쉽게 파악할 수 있다.

feat 새로운 기능을 추가할 때 사용
fix 버그를 수정할 때 사용
docs 문서 수정 및 추가 (README, 주석 등)
style 코드 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우
refactor 코드 리팩토링 (기능 변경 없이 구조를 개선하는 경우)
test 테스트 추가 및 수정
chore 빌드 작업이나 패키지 관리자 설정을 변경할 때 사용
perf 성능을 개선하기 위한 코드 수정
build 빌드 시스템 관련 변경 (빌드 스크립트, CI 설정 등)
ci CI 설정 변경 (GitLab, Jenkins, Travis 등)
revert 이전 커밋을 되돌릴 때 사용

 

 

 

 

 

 

 

2. 스코프 (scope)

스코프는 변경된 기능의 범위나 모듈을 나타낸다.

선택사항이지만 커밋이 어떤 부분에 영향을 미쳤는지 명확히 하려면 스코프를 지정하는 것이 좋다.

 

 

 

 

 

3. 주제 (subject)

주제는 커밋의 간결한 설명으로 50자 이내로 작성하는 것이 좋다.

주제는 현재 시제로 작성하고 마지막에 마침표를 쓰지 않는다.

 

 

 

 

 

4. 본문 (body)

본문은 커밋의 상세 설명을 적는 부분이다.

무엇을, 왜 변경했는지 설명하는 것이 좋다. 

본문을 작성할 때는 변경 사항에 대한 동기와 이유를 명확히 기록해 두면 다른 사람이 이력을 볼 때나 협업 시에 유용하다.

 

본문 작성 규칙

  • 72자 내외로 줄바꿈을 사용한다.
  • "어떤 변경을 했는지"와 "왜 변경했는지"를 서술한다.
  • 어떻게 변경했는지는 코드에서 확인할 수 있으므로 적지 않는 것이 좋다.

 

 

 

 

5. 푸터 (footer)

푸터는 주로 참고할 이슈나 브레이킹 체인지와 같은 중요한 정보를 기록할 때 사용한다.

이슈 트래커와 연동되는 경우 이곳에 이슈 번호를 명시하여 커밋이 해결한 이슈를 추적할 수 있도록 한다.

 

 

 

 

 

 

 

커밋 메시지 예시

feat 타입 예시

feat(user): 로그인 기능 추가

이메일과 비밀번호를 이용한 로그인 기능을 추가했습니다. 
세션 처리를 개선하여 보안성을 높였습니다.

 

fix 타입 예시

fix(cart): 장바구니 아이템 중복 문제 해결

사용자가 동일한 아이템을 여러 번 추가할 때 장바구니에 
중복으로 아이템이 추가되는 문제를 해결했습니다. 
아이템을 추가하기 전에 기존 아이템을 확인하도록 수정했습니다.
Fixes #133

 

docs 타입 예시

docs: 새로운 엔드포인트에 대한 API 문서 업데이트

사용자 인증 및 장바구니 관리를 위한 새로운 엔드포인트를 
API 문서에 추가했습니다. 응답 형식과 오류 코드를 명확히 했습니다.

 

refactor 타입 예시

refactor(auth): 인증 로직 개선

인증 로직을 간소화하고 유효성 검증 과정을 리팩토링했습니다. 
불필요한 중복 검사를 제거하고 오류 처리를 개선했습니다. 
이번 리팩토링은 기능 추가나 버그 수정 없이 코드 구조만 개선했습니다.

 

 

 

 

 

 

커밋 컨벤션을 도입할 때 주의할 점

  • 팀원들과의 합의
    커밋 컨벤션은 팀 내에서 합의하여 일관되게 사용해야 한다.
    한두 명만 따르는 것이 아니라 모든 팀원이 일관된 커밋 메시지 작성 방식을 유지하는 것이 중요하다.
  • 실제 작업을 반영하는 메시지 작성
    커밋 메시지는 실제로 변경된 사항을 정확하게 반영해야 하며 그 의도가 명확하애 한다.
    너무 모호한 메시지는 피해야 한다.
  • 자주 커밋하기
    너무 많은 작업을 한 번에 커밋하기보다는 작은 단위로 자주 커밋하여 각 커밋이 특정 작업을 명확하게 반영할 수 있도록 하는 것이 좋다.