본문 바로가기

개발(합니다)/OS&Dev&Infra&AWS

[git] 좋은 커밋 메시지 작성 하는 방법

반응형

좋은 커밋 메시지라는건 주관적인 기준이라 기본적인 기준을 가지고 팀원들과 협업하면서 조율하면서 진행하면서
우리 팀에 좋은 커밋 메시지 규칙을 만들수 있다고 생각합니다.

아래 사이트를 기준으로 작성했습니다.
https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html

git 커밋 메시지를 잘 써야 하는 이유

  1. 커밋 로그 가독성
  2. 협업과 리뷰를 기틀
  3. 유지보수

좋은 커밋 메시지를 위한 7가지 규칙

  1. 제목과 본문을 한 줄 개행 분리
  2. 제목은 영문 기준 50자 이내
  3. 제목 첫글자를 대문자로
  4. 제목 끝에 . 금지
  5. 제목은 명령조
  6. 본문은 영준 기준 72자마다 줄 바꿈
  7. 본문은 어떻게 보다 무엇을, 왜를 작성
  • 추가
  1. 커밋 유형 지정

1. 제목과 본문을 한 줄 개행 분리

모든 커밋은 제목과 본문으로 구성되지 않아도 되고 사소한 변경은 제목만 작성해도 괜찮습니다.
필요하지 않은 설명을 하지않는게 도와주는거라고 생각합니다.

터미널에서 git commit -m 으로 하기에는 어려움이 있으므로 tool을 이용해서 하기를 추천합니다.

2. 제목은 영문 기준 50자 이내

제목이 길면 직관적으로 이해하기 어려우니 최소화합니다.
또한, 제목이 69자 이상으로 길어지면 줄임 표시(...)로 보이지 않아 열어서 확인해야하는 수고로움이 발생하므로 지양합니다.

3. 제목 첫글자를 대문자로

영문 기준으로 작성된 문서라서 8번 커밋 유형을 추가하여 영문으로 시작하도록 하면 규칙을 지킬수 있습니다.

Feat : 유저 로그인 페이지 레이아웃 생성한다.

- 유저가 로그인 시 처음 진입하는 로그인 페이지 레이아웃 생성 후 개발 진행중입니다.

4. 제목 끝에 . 금지

제목 끝에 마침표는 필요하지 않습니다.

Feat : 유저 로그인 페이지 레이아웃 완료한다.

- 기획 요구사항(Req00)에 따라 유저가 로그인 시 처음 진입하는 로그인 페이지 레이아웃 개발 완료했습니다.

5. 제목은 명령조

Git 자체에서 자동으로 생성하는 메시지도 명령조로 사용되기에 통일성있게 제목은 명령조로 본문은 평문으로 작성합니다.

예를 들어

  • 너의 방을 치운다 : Clean your room
  • 문을 닫는다 : Close the door
  • 쓰레기를 갖다 버린다 : Take out the trash

우리 말로 하면 어색한 감이 있는데 아래 문장을 대입해서 절적한기 확인합니다.

"만약 이 커밋이 적용되면 이 커밋은 ~~"

  • 만약 이 커밋이 적용되면 너의 방을 치운다
  • 만약 이 커밋이 적용되면 문을 닫는다
  • 만약 이 커밋이 적용되면 쓰레기를 갖다 버린다

6. 본문은 영문 기준 72자마다 줄 바꿈

본문의 오른쪽 여백을 고려해서 작성해야 하는데 72자마다 개행하면 가독성이 향상됩니다.

7. 본문은 어떻게 보다 무엇을, 왜를 작성

무엇을 왜 했는지를 작성하다보면 커밋으로 인한 영향을 확인할 수 있습니다.

8. 커밋 유형 지정

커밋 유형을 지정해서 해당 커밋이 어떤 유형인지를 알려줍니다.

feat: 새로운 기능을 추가할 경우
fix: 버그를 고친 경우
docs: 문서 수정한 경우
style: 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우
refactor: 프로덕션 코드 리팩터링
test: 테스트 추가, 테스트 리팩터링 (프로덕션 코드 변경 없음)
chore: 빌드 테스크 업데이트, 패키지 매니저 설정할 경우 (프로덕션 코드 변경 없음)
init : 시스템 초기 설정
dir : 폴더 및 문서 구조 변경

반응형