Git(깃)

[Git] Commit Message Convention (feat: 로그인 기능 추가)

양승상 2025. 6. 14. 22:50
반응형

2025.06.14 - [Git(깃)] - [Git] Semantic Version 관리 (v1.0.0-rc.1)

 

[Git] Semantic Version 관리 (v1.0.0-rc.1)

2025.06.14 - [Git(깃)] - [Git] git tag 활용방법 [Git] git tag 활용방법git tag 는 코드를 안정적으로 운용하는데 유용한 명령어다.특정 시점의 커밋으로 복구할 수 있는 기준점을 만들어준다.기준점이 공유

seungsang.tistory.com

버전 관리에 Sematic Version 을 적용한 것처럼 커밋에서도 비슷한 것이 있지 않을까?

깃에서 가장 많이 사용하는 명령어 중 하나가 commit 일 것이니, 이런 규칙이 있다면 일관성을 유지하면서 협업하기 좋을 것이다.

 

팀 프로젝트나 오픈소스를 보다 보면 이런 커밋 메시지를 자주 본다.

  • feat: 로그인 기능 추가
  • fix: 로그인 버튼 버그 수정

실제로 이러한 커밋 메시지들은 특정한 규칙에 의해 씌여져 있다.

 

Git Commit Message Convention

커밋 메시지를 일정한 형식으로 작성하기 위한 규칙이다.

커밋 메시지는 아래와 같이 구성된다.

<type>[optional scope]: <description>
(빈줄)
[optional body]
(빈줄)
[optional footer(s)]
  • type : 커밋의 종류 작성
  • subject: 변경 사항 작성
  • body: (type:subject) 대한 설명이 추가로 필요할 때 작성
  • footer: 이슈와 연결하기 위해 이슈 번호 기록. 그외에도 CI 등에 활용할 수 있다. ex. 자동 릴리즈 노트 작성
    (나는 Github 에서 Pull Request 할 때, Close #1234 같이 적어서 일감을 닫게 한다.)
예시.
feat: 로그인 기능 추가

- 사용자 로그인 기능 구현
- 아이디와 비밀번호 입력 및 인증 처리

Closed: #1234

 

타입의 종류

주로 사용하는 type 의 예시이다.

  • feat: 새로운 기능 추가
  • fix: 버그 수정
  • docs: 문서 관련 수정
  • style: 코드 포맷 변경(공백, 세미콜론 등)
  • refactor: 리팩토링(기능 변화 없음)
  • test: 테스트 코드 추가/수정
  • chore: 빌드 설정, 패키지 업데이트 등 기타 잡일

커밋 메시지 작성시 유의사항

  • 무엇을 했는지 설명
    • 어디 코드를 수정함(X) -> 로그인 시 비밀번호 검증 오류 수정(O)
  • 변경 사항을 파악할 수 있도록 작성
    • fix: 로그인 오류 수정(X) -> fix: 비밀번호 5회 실패 시 무한 대기 현상 수정(O)
  • 제목은 명령형으로 작성
    • add, fix, ...
    • 과거형은 쓰지 않는다. added(X)

 

 

위의 내용은 가이드라인일뿐이다.

규칙이 있다면 그 규칙을 기반으로 또 다른 것을 하기 쉬워진다.

예를 들어, 커밋메시지를 통해 CI 에서 Version 을 자동으로 관리할 수도 있다.

 

하지만 아래의 예시처럼 다양한 방식으로 커밋메시지를 작성하기 때문에 너무 강박감을 가질 필요는 없다.

결국은 상대방과 쉽게 소통하고 협업하기 위함임을 잊지말자.

Commit 예시

반응형