Tech Log

Git commit 메시지 컨벤션 본문

Git

Git commit 메시지 컨벤션

yuhee kim 2022. 2. 2. 16:04

사진 출처 : https://git-scm.com/downloads/logos

 

개요 : 이때까지 규칙 없이 커밋 메시지를 작성했더니 가독성이 좋지 않았다. 이러한 점이 협업할 때 문제가 될 수 있다는 생각을 하게 되었다. 컨벤션 없이 작성한 커밋 메시지로 인해, 로그를 보면 다른 사람 혹은 자신이 어떤 것을 커밋했는지 한 번에 알기 힘들 수 있다. 이와 같은 문제를 해결하기 위해, Udacity의 이상적인 커밋 메시지 가이드를 보았다.

 

메시지 구조

type: Subject

body

footer

Udacity에서 제공하는 커밋 메시지 가이드 라인은 위와 같은 구조를 가진다.

제목(Subject), 본문(body), 꼬리말(footer) 세 가지 파트로 나뉜다.

각 파트는 한 줄 띄워 구분한다.

 

  • type : Subject (제목 파트)

제목 파트는 위와 같이 type : Subject(타입 : 제목) 이며, 콜론으로 구분된다.

type(타입)은 아래와 같은 7가지로 구성되어 있다. type(타입)은 소문자로 명시한다.

 

type(타입) 의미
feat A new featue (새로운 기능을 추가했을 때)
fix A bug fix (오류를 수정했을 때)
docs Changes to documentation (문서를 수정했을 때)
style Formatting, missing semi colons, etc; no code change
(코드의 변화와 관련없을 때, 즉 코드 포맷이나 세미 콜론 누락)
refactor  Refactoring production code (코드 리팩토링했을 때)
test Adding tests, refactoring test; no production code change
(테스트 추가, 테스트 수정했을 때; 프로덕션 코드는 변경하지 않음)
chore Updating build tasks, package manager configs, etc; no production code change
(build와 관련된 것, 패키지 매니저 설정과 같이 프로덕션 코드와 상관없는 것들을 했을 때)

 

Subject(제목)은 50자 이하로 작성한다. 또한 대문자로 시작하며 명령형 문장으로 구성된다.

 

  • body (본문 파트)

커밋에 대해 설명이 필요할 때 적는 부분이다. 무엇 그리고 왜 그 커밋을 했는지(어떻게 했는지는 제외)에 대해 적는 부분이다. 작성해도 되고 안해도 되는 부분이다. 

각 문장이 72자가 넘지 않도록 적어야 한다.

 

  • footer (꼬리말 파트)

어떤 이슈와 관련된 커밋인지를 적는 부분이다.  혹은 참고할 다른 이슈가 있는지 적는 부분이다.

issue tracker ID를 적는다.

이 부분 역시 적어도 되고 안적어도 되는 부분이다.

 

참고

'Git' 카테고리의 다른 글

[Git] push  (0) 2022.06.09
Github desktop unable to merge unrelated histories in this repository 이슈  (0) 2021.11.11
Comments