Git - 커밋 메시지 컨벤션

Photo by Oskar Yildiz on Unsplash

시작하기

다음은 효과적으로 커밋 메시지를 작성하고 활용하기 위한 규칙을 정리한 내용입니다. 이 부분에 대해서는 사람이나 조직마다 의견이 나뉜다는 사실을 인지하고 참고하면 좋다고 생각되는 Udacity - Git commit message style guide를 참조하여 글을 작성하였습니다.

깃 커밋 메시지란?

조직이나 팀 단위 혹은 혼자서 git을 통해 개발을 하는 경우에 일련의 작업들 하나의 일로 간주할 수 있는데 이 부분을 커밋(commit)이라고 합니다. 커밋을 정의하는 경우 내용을 남길 수 있는데 이를 커밋 메시지(commit message)라고 말하며 내용을 작성할 경우 관례(convention)에 따라 작성하면 개인 혹은 팀의 구성원이 보다쉽게 작업 또는 개발한 내역을 알 수 있습니다.

기본 메시지 구조

메시지는 제목, 본문, 꼬리말로 구성되어 있으며, 그 구성은 다음과 같습니다.

분류: 제목

본문 [선택 사항]

꼬리말 [선택 사항]

분류

명시적으로 커밋의 행위 종류를 구분하는 값으로 다음과 같이 정의합니다.

  • feat: 새로운 기능
  • fix: 문제 수정
  • docs: 문서 변경
  • style: 서식 지정이나 세미콜론 누락 등 [비즈니스 변경 없음]
  • refactor: 프로덕션 코드 리팩토링
  • test: 테스트 추가, 테스트 리팩토링 [프로덕션 코드 변경 없음]
  • chore: 빌드 작업, 패키지 관리자 구성 등 업데이트 [프로덕션 코드 변경 없음]

제목

제목은 50자 이하로 제한하며 마침표(.)로 끝나지 않아야 합니다. 영문으로 작성 시 첫 글자는 대문자로 시작합니다.

명령형 어조를 사용하여 커밋이 수행한 작업이 아니라 수행하는 작업을 설명합니다.

본문

본문은 선택 사항이며 커밋의 내용과 이유를 설명하기 위해 작성합니다.

본문을 작성하는 경우 제목과 본문 사이에 빈 줄이 필요하며, 한 줄의 길이는 72자 이하로 제한합니다.

꼬리말

꼬리말은 선택 사항이며 이슈(#id)를 추적하는 데 사용합니다.

예제

feat: 블로그 깃 커밋 메시지 컨벤션 정리 글쓰기 (50자 이하)


이 글은 깃 커밋 메세지 컨번션에대해 간략하게 정리한 내용입니다.
한 줄은 72자 이하로 제한되며 제목과 본문 사이에는 한 줄의 빈칸이 존재합니다.
이와 같이 정의되는 이유는 git을 활용하는데에 편리함을 추구하기 위함 입니다.

예 ) log, shortlog, rebase

이슈 추적을 사용한다면 꼬리말에 참조를 입력해주세요.

Resolves: #123
See also: #456, #789

결론

어떤 일이든 혼자만의 힘으로 할 수 있는 범주는 제한적이라고 생각합니다. 그런 의미에서 깃 커멧 메시지 컨벤션은 커밋이라는 하나의 이력을 만들 때 작성하는 간단한 메시지에도 관례를 적용함으로써 이를 활용하는 사람들로 하여금 같은 시각을 가질 수 있게 만들어 과거와 현재 그리고 미래까지 하나의 끈으로 연결해 앞으로 더 멋지고 재미있게 일을 할 수 있도록 해주는 규칙 중 하나가 아닐까라고 생각합니다.

 

추가로 참고해보면 좋은 자료들

반응형

'프로그래밍 > Git' 카테고리의 다른 글

Git - 삭제한 branch 혹은 commit를 복구하는 방법  (2) 2022.02.12

댓글

Designed by JB FACTORY