(👂깃 커밋 메시지.. 그저 변경 사항에 대한 적절한 코멘트를 남기면 되는 것이 아니었는가?)
📍상황 :
외주 개발사와 협업을 시작하기에 앞서 공지 메일이 도착했다.
====================
'아래와 같은 commit message convention 준수 부탁드립니다.'
feat: 블라블라
test: 블라블라
====================
메일의 요지는 깃 커밋 메시지를 규칙에 맞게 통일해서 작성해 달라는 것.
📍정리 :
서칭해보니 나오는 '깃 커밋 메시지 컨벤션'!
이게 무엇이란 말인가?? 똥멍청이 얼른! 구글, 쳇gpt에 물어보자!
gpt의 설명 :->
'이 규칙을 지키면 코드 관리를 효율적으로 할 수 있으며, 팀 간 협업에 큰 도움이 됩니다.
커밋 메시지를 잘 작성하면 다른 팀원이 변경 사항을 쉽게 이해할 수 있고, 이후 코드 리뷰나 디버깅, 릴리스 노트(변경 사항, 기능 추가/삭제, 버그 개선 등 변경 사항을 체계적으로 정리하여 정보를 제공하는 문서) 작성 시 유용합니다.'
대표적으로 사용되는 커밋 메시지 컨벤션은 'Udacity Style' !
이 규칙은 간결한 형식으로 커밋 메시지를 명확하게 전달한다.
작성 방식은 아래와 같다.
타입(type): 커밋 메시지 제목
본문(body)
옵션 사항(footer)
이 규칙에서 가장 중요해 보이는 '주요 타입' 종류는 이렇다.
📝 커밋 메시지 타입 정리 (type)
- feat: 새로운 기능을 추가할 때
- fix: 버그 수정했을 때
- docs: 코드가 아닌 문서 파일 수정 시(예: README.md)
- style: 코드의 포맷팅 변경(세미콜론, 들여 쓰기 등)처럼 실제 동작을 변경하지 않는 수정 시
- refactor: 프로덕션 코드 리팩토링 (기존 기능 변경 없이 코드 구조 개선, 최적화)
- test: 테스트 코드를 추가하거나, 테스트 관련 코드만 수정할 때
- chore: 빌드 시스템이나 패키지 매니저 설정 등. 실제 기능(코드)을 변경하지 않는 작업에 사용
- design: CSS, 레이아웃, 시각적인 UI 요소와 관련된 변경 사항
- !BREAKING CHANGE: 시스템에 큰 영향을 줄 수 있는 중요한 API 변경 시
- !HOTFIX: 치명적인 버그를 긴급하게 처리할 때. (배포와 관련된 중요한 버그일 때 적합)
- comment: 주석을 추가하거나 변경할 때 사용 (주석만 변경한 경우)
- rename: 파일이나 폴더 이름을 변경하거나 위치를 이동할 때
- remove: 특정 파일이나 폴더를 삭제하는 경우
📝 제목 (subject)
- 제목은 50글자를 넘지 않도록 간결하게 작성
- 첫 글자는 대문자가 아닌 소문자로 시작
- 마지막에 마침표(.)는 안 붙임
📝 본문 (body)
- 제목으로 설명이 부족할 때 상세한 설명을 추가하는 영역 (무엇을:내용, 왜:이유)
- 제목과 본문 사이에 빈 줄을 넣는 것이 일반적 (가독성)
- 필요할 때만 작성하며, 필수 사항은 아님
📝 옵션사항 (footer)
- 이슈 번호, 기타 옵션 사항을 언급하는 영역
- (해결한 이슈 커밋 ID, 해결을 위해 참고한 커밋의 ID 작성)
- body와 footer 사이에 빈 줄을 넣는 것이 일반적
- 필요할 때만 작성하며, 필수 사항 아님
📍결론 :
실제 커밋 메시지에 본문, 옵션 사항은 거의 작성하지 않았다 (딱히 필요한 경우가 없었음).
바쁘게 일을 쳐내다 보니 커밋 메시지까지 주의해야 하는가?라는 생각이 들기도..
그러나 프로젝트 참여자들 모두 type: subject를 가독성 좋게 작성한 덕분에 히스토리 파악에 큰 도움이 되었다.
해당 컨벤션 규칙을 따르지 않더라도 기본적으로 지켜야 하는 사항들이 명확해졌다.
- 의미 있는 단위로 커밋 할 것
- : 한 번 커밋 할 때 지나치게 많은 변경사항을 포함하지 않는다. (히스토리 찾기 어려움)
- 명확하게 작성할 것
- : 커밋 메시지만 봐도 변경 사항의 요점을 파악할 수 있도록 한다.
- 협업에 필요한 정보를 포함할 것
- : 코드 변화로 인해 영향을 받는 모듈, 파일, 또는 관련 이슈 등을 언급한다.
원활하고 효율적인 의사소통을 위해,
기본 사항들이 지켜진다면 깃 로그를 읽고 파악하는 것이 훨씬 쉬워진다. 가독성 좋은 협업이 가능해지는 것이다..!
이상입니다.(급)
**참고사이트
https://udacity.github.io/git-styleguide/
Udacity Nanodegree Style Guide
Introduction This style guide acts as the official guide to follow in your projects. Udacity evaluators will use this guide to grade your projects. There are many opinions on the "ideal" style in the world of development. Therefore, in order to reduce the
udacity.github.io
+ 쳇gpt
'ETC. > GIT' 카테고리의 다른 글
깃 명령어 자꾸 까먹기 때문에. (0) | 2025.06.20 |
---|---|
.gitignore파일을 수정했을 때. 바로 적용되지 않는다면? (git 캐시를 삭제/.gitignore파일의 역할) (1) | 2024.07.03 |