본문 바로가기
코딩공부/GIt

협업을 위한 Git 커밋 메시지 작성 방법

by Dong_Devlog 2022. 11. 30.

커밋(commit)이란

git에서 버전을 관리하거나 기능을 추가할 때 변경 된 작업들을 저장소에 기록하는 것을 말한다. 

 

커밋 메시지가 중요한 이유와  규칙의 필요성

Git에서 파일의 변경을 커밋 단위로 저장되기 때문에 이 변경 내역을 알려주는 커밋 메시지를 잘 작성하는 것은 중요하다. 

커밋 메시지 규칙의 필요성으로는 아래와 같다.

  • 팀원과의 소통
  • 편리한 과거의 기록 추적
  • 이슈를 함께 작성하면서 이슈와 관련된 진행 사항을 확인

 

좋은 커밋 메시지의 작성법

좋은 커밋 메시지를 작성하기 위해 사용하는 몇 가지 규칙에 대하여 알아보도록 하자

 

1. 커밋 유형 지정

  • Feat - 새로운 기능 추가
  • Fix - 버그 수정
  • Build - 빌드 관련 파일 수정
  • Ci - CI관련 설정 수정
  • Docs - 문서 (문서 추가, 수정, 삭제)
  • Style - 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없는 경우)
  • Refactor - 코드 리팩토링
  • Test - 테스트 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없는 경우)
  • Chore - 기타 변경사항 (빌드 스크립트 수정 등)

2. 제목

  • 제목은 50자를 넘기지 않고, 마침표를 붙이지 않습니다.
  • 제목에는 commit 타입을 함께 작성합니다.
  • 과거 시제를 사용하지 않고 명령조로 작성합니다.
  • 제목과 본문은 한 줄 띄워 분리합니다.
  • 제목의 첫 글자는 반드시 대문자로 씁니다.
  • 제목이나 본문에 이슈 번호(가 있다면) 붙여야 합니다.

3. 본문

  • 선택 사항이기에 모든 commit에 본문 내용을 작성할 필요는 없습니다.
  • 한 줄에 72자를 넘기면 안 됩니다.
  • 어떻게(How)보다 무엇을, 왜(What, Why)에 맞춰 작성합니다.
  • 설명뿐만 아니라, commit의 이유를 작성할 때에도 씁니다.

4. 꼬리말

  • 선택 사항이므로 모든 commit에 꼬리말을 작성할 필요는 없습니다.
  • Issue tracker ID를 작성할 때 사용합니다.
  • 해결: 이슈 해결 시 사용
  • 관련: 해당 commit에 관련된 이슈 번호
  • 참고: 참고할 이슈가 있는 경우 사용

5. 제목 행을 50자로 제한

6. 제목 행에 명령문을 사용한다

 "명령이나 설명하듯이 작성"

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

7. 본문은 72자마다 끊어 줄을 바꿔준다.

8. 본문을 사용하여 변경 한 내용과 이유 설명(어떻게 보다는 무엇과 왜를 설명한다)

9. 검토자가 원래 문제가 무엇인지 이해한다고 가정하지 말고 확실하게 설명 추가

10. 자신의 코드가 직관적으로 바로 파악 할 수 있다고 생각하지 말자

11. 팀에서 정한 Commit 규칙을 따르자

댓글