[🐙 Git & Github] 깃 컨벤션으로 커밋 메세지 형식 통일하기

2024. 9. 26. 12:35·Git
728x90
반응형

 

팀 프로젝트를 진행함에 있어 깃헙 사용은 필수라서 commit, push, pull, merge, pull request 등 기본적인 것들은 할 수 있게 되었지만 그 외에 것들은 잘 몰랐는데 이번 프로젝트에서 깃 이슈와 깃 컨벤션을 사용해서 제대로 짚고 넘어가야 할 것 같다고 생각되어 정리해보기..

 


Git Convention

 

깃 컨벤션은 팀 프로젝트에 있어서 원활한 소통을 위해 커밋 메세지의 양식을 정해두는 것이다.

기업마다 정해진 컨벤션이 다른데 아래의 예시는 Git 공식 문서를 참고하여 "Udacity" 스타일을 기반으로 작성되었다.

 

커밋 메세지 형식

type: Subject

body

footer

 

기본적으로 제목, 본문, 꼬리말 이렇게 3가지 영역으로 나뉜다.

메세지 타입은 아래와 같고 소문자로 작성한다.

  • feat : 새로운 기능 추가
  • fix : 버그 수정
  • docs : 문서 내용 변경
  • style : 포맷팅, 세미콜론 누락, 코드 변경이 없는 경우 등
  • refactor : 코드 리팩토링
  • test : 테스트 코드 작성
  • chore : 빌드 수정, 패키지 매니저 설정, 운영 코드 변경이 없는 경우 등

 

Subject 제목

제목은 최대 50글자가 넘지 않아야 하며 마침표와 특수 기호를 사용하지 않는다.

영문 표기 시, 첫 글자는 대문자로 표기하며 과거시제를 사용하지 않는다. 간결하고 요점만 서술!

 

Body 본문

본문은 최대한 상세히 적고, 무엇을 왜 진행했는지 설명해야 한다.

만약 한 줄이 72자가 넘어간다면 다음 문단으로 나눠 작성하도록 한다.

 

Footer 꼬리말 (optional)

꼬리말은 이슈 트래커의 ID를 작성한다.

꼬리말은 "유형 : #이슈 번호" 형식으로 사용하며 여러 개의 이슈 번호를 적을 때는 쉼표(, )로 구분한다.

어떤 이슈와 관련된 커밋인지(resolves), 그 외 참고할 사항이 있는지 (See also)로 작성한다.

이슈 트래커 유형 >

  • Fixes : 이슈 수정 중 (아직 해결되지 않은 경우)
  • Resolves : 이슈를 해결했을 때 사용
  • Ref : 참고할 이슈가 있을 때 사용
  • Related to : 해당 커밋에 관련된 이슈 번호 (아직 해결되지 않은 경우)

ex ) Fixes: #45 Related to: #34, #23

 

커밋 메세지 예시

Feat: "회원 가입 기능 구현"

SMS, 이메일 중복확인 API 개발

Resolves: #123
Ref: #456
Related to: #48, #45

 

 

위는 최근 프로젝트를 진행하며 남긴 커밋들 중 한 부분이다.

 

 

커밋 메세지 이모지

커밋 메세지에 이모티콘을 사용하면 사용된 이모티콘만 보고 커밋의 목적이나 의도를 쉽게 식별 할 수 있다.

🎨 코드의 형식 / 구조를 개선 할 때
📰 새 파일을 만들 때
📝 사소한 코드 또는 언어를 변경할 때
🐎 성능을 향상시킬 때
📚 문서를 쓸 때
🐛 버그 reporting할 때, @FIXME 주석 태그 삽입
🚑 버그를 고칠 때
🔥 코드 또는 파일 제거할 때 , @CHANGED주석 태그와 함께
🚜 파일 구조를 변경할 때 . 🎨과 함께 사용
🔨 코드를 리팩토링 할 때
💄 UI / style 개선시
♿️ 접근성을 향상시킬 때
🚧 WIP (진행중인 작업)에 커밋, @REVIEW주석 태그와 함께 사용
💎 New Release
🔖 버전 태그
✨ 새로운 기능을 소개 할 때
⚡️ 도입 할 때 이전 버전과 호환되지 않는 특징, @CHANGED주석 태그 사용
💡 새로운 아이디어, @IDEA주석 태그
🚀 배포 / 개발 작업 과 관련된 모든 것

 

용도와 의미에 대해 더 자세히 알고 싶다면 아래 사이트 참고 

https://gitmoji.dev/

 

gitmoji

:truck: Move or rename resources (e.g.: files, paths, routes).

gitmoji.dev

 

 

 

 

 

🔗 포스팅 참고 블로그, 글 출처

https://velog.io/@shin6403/Git-git-%EC%BB%A4%EB%B0%8B-%EC%BB%A8%EB%B2%A4%EC%85%98-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

 

Git | git 커밋 컨벤션 설정하기

개발자로 시작한지 얼마 안되고 나서, 첫 직장은 지금도 다니고 있는 모든것을 처음부터 새로 시작하는 스타트업이다.프론트엔드는 작성자 혼자 뿐이었고, 아무것도 모르는 주니어 개발자가 하

velog.io

https://github.com/gyoogle/tech-interview-for-developer/blob/master/ETC/Git%20Commit%20Message%20Convention.md

 

tech-interview-for-developer/ETC/Git Commit Message Convention.md at master · gyoogle/tech-interview-for-developer

👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com

 

728x90
반응형
저작자표시 비영리 변경금지

'Git' 카테고리의 다른 글

Github Actions의 환경 변수 참조 에러 Github Secrets 사용으로 해결하기  (0) 2024.10.18
[🐙 Git & Github] 깃 명령어 사용해서 특정 브랜치로 이동하기  (2) 2024.10.07
[💡 트러블 슈팅] Github에서 머지 충돌 일어났을 때 해결하기 Can't automatically merge  (0) 2024.10.02
[🐙 Git & Github] 깃헙 이슈 이해하기 + Issue & PR Template 만들기  (1) 2024.09.26
[🐙 Git & Github ] Github Actions 을 활용한 CI/CD 파이프라인 구성하기  (0) 2024.08.17
'Git' 카테고리의 다른 글
  • [🐙 Git & Github] 깃 명령어 사용해서 특정 브랜치로 이동하기
  • [💡 트러블 슈팅] Github에서 머지 충돌 일어났을 때 해결하기 Can't automatically merge
  • [🐙 Git & Github] 깃헙 이슈 이해하기 + Issue & PR Template 만들기
  • [🐙 Git & Github ] Github Actions 을 활용한 CI/CD 파이프라인 구성하기
waVwe
waVwe
    반응형
  • waVwe
    waVwe 개발 블로그
    waVwe
  • 전체
    오늘
    어제
    • ALL (184)
      • Python (1)
      • Spring (15)
      • DevOps (10)
      • Git (6)
      • JAVA (4)
      • C (22)
      • 코테 문제 풀이 (124)
        • 프로그래머스 (43)
        • 백준 (2)
        • 정올 (64)
        • SW Expert Academy (1)
        • 온코더 oncoder (14)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

    • 🐙 Github
  • 공지사항

  • 인기 글

  • 태그

    스파르타코딩
    MSA
    코테
    스파르타코딩클럽
    springboot
    Til
    docker
    CI/CD
    연결리스트
    정올
    C
    아파치카프카
    깃
    프로그래머스
    도커
    이진트리
    깃헙
    내일배움캠프
    온코더
    자료구조
    알고리즘
    스프링
    자바
    형변환
    while문
    java
    스프링부트
    C언어
    devops
    progate
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
waVwe
[🐙 Git & Github] 깃 컨벤션으로 커밋 메세지 형식 통일하기
상단으로

티스토리툴바