티스토리 뷰

얼마전까지만 해도 깃허브에 커밋을 날릴 때 일정한 규칙 없이 커밋 메세지를 작성하고 푸쉬하곤 했습니다. 혼자서 개발할 때야 크게 상관없지만 다른 팀원들과 협업을 하는 경우 커밋 메세지는 상당히 중요한 도구입니다 ! 프로젝트 과정에서 무엇보다도 팀원과의 소통이 굉장히 중요하기 때문에 커밋 메시지를 좀 더 효율적으로 작성해봐야겠다고 생각했습니다. 

 

커밋 메세지를 통해 어떤 점이 추가된지, 변경되었는지 쉽게 알아볼 수 있고 issue도 함께 처리할 수 있다는 장점이 있습니다. 또 과거 커밋내역을 살펴보며 코드 추적도 훨씬 편하게 할 수 있습니다. 온라인에 좋은 커밋 메세지 작성요령이 많이 나와있습니다. 많은 작성요령들을 살펴보다보면 공통적인 특징이 있습니다.

 


커밋 메세지의 7가지 규칙

<type>: <subject>               -- 헤더
                                -- 빈 줄
<body>                          -- 본문
                                -- 빈 줄
<footer>                        -- 바닥 글

1. 제목과 본문을 빈 행으로 구분합니다.

2. 제목을 50글자 이내로 제한합니다.

3. 제목의 첫 글자는 대문자로 작성합니다.

4. 제목의 끝에는 마침표를 넣지 않습니다.

5. 제목은 명령형으로, 과거형은 넣지 않습니다.

6. 본문의 각 행은 72글자 내로 제한합니다

7. 어떻게(How?) 보다는 무엇(What?) 왜(Why?)를 설명합니다.

 

Type에는 어떤 것이 들어가면 좋을까?

  • Feat - 새로운 기능 추가
  • Fix - 버그 수정
  • Build - 빌드 관련 파일 수정
  • Ci - CI 관련 수정
  • Docs - 문서(문서 추가, 수정, 삭제)
  • Style - 스타일(코드 형식)
  • Refactor - 리팩토링
  • Test - 테스트(테스트 코드 추가, 수정, 삭제)
  • Chore - 기타 변경사항 (빌드 스크립트 수정 등등)

 

꼬리말(Footer)에는 어떤 것이 들어가면 좋을까?

선택 사항이므로 모든 커밋 메세지에 꼬리말을 작성할 필요는 없습니다. 주로 Issue tracker ID를 작성할 때 사용합니다.

  • 해결: 이슈 해결 시 사용
  • 관련: 해당 commit에 관련된 이슈 번호
  • 참고: 참고할 이슈가 있는 경우 사용

예를 들어 특정 이슈를 참조하기 위해서 close #123과 같이 사용하면 됩니다. 이 커밋이 main(master) 브랜치로 푸쉬될 때 자동으로 close 됩니다. main 브랜치에서 작업하고 커밋을 한다면 즉시 해당 번호의 이슈가 처리됩니다 ! 대표적으로 3가지 키워드가 있습니다.

  • close, closed
  • fix, fixed
  • resolve, resolved

 

 

커밋 메세지 예시

Feat: Add post modify(update) API code

사용자 요구사항으로 게시글 수정/변경 기능 추가

해결: close #123

 

 

 

 

Reference

https://junhyunny.github.io/information/github/git-commit-message-rule/

댓글