Project.log

깃 커밋 컨벤션 정하기 본문

GIT

깃 커밋 컨벤션 정하기

jinuk_ 2023. 7. 13. 20:27
728x90
반응형

 

git commit convention 정하기

커밋 메세지 란 커밋을 할 때, 현재 commit 이 정확히 무엇과 관련한 개발에 해당하고, 어떤 변경 사항이 있는지 등을 작성하는 것을 말합니다. 

 

커밋 메세지의 간단한 예시를 보면 다음과 같습니다. (제목, 본문, 꼬리말이 모두 담겨있습니다.)

Feat: "로그인 함수 추가"

로그인 요청을 위한 함수 구현

Closes: #123

커밋 메세지를 잘 작성하면, 우리는 단순히 커밋 이력만 보고서도 현재까지 어떤 개발이 진행되었고, 어떤 커밋에서 문제가 발생했는지 등을 확인할 수 있게 됩니다. 특히나 규모가 큰 개발일수록 이 커밋 메세지는 더욱 중요해집니다.

 

TIP! 만약 커밋 메세지를 vim편집기에서 작성하고 싶다면 git commit 이라고만 입력하면 됩니다.

 

보통 메세지를 입력할때 7가지 규칙을 지켜야 합니다. (출처: https://cbea.ms/git-commit/)

  1. 제목과 본문은 한 줄을 띄워서 작성한다.
  2. 제목은 영문 기준 50자 이내로 작성한다.
  3. 제목 첫글자는 무조건 대문자로 작성한다.
  4. 제목 끝에 마침표(.)는 찍지 않는다.
  5. 제목은 개조식 (영어라면 명령문) 으로 작성한다. (Update code, Fix bug 등으로만 작성, 만약에 한글로 작성한다면 ‘abc 함수 수정’ 과 같은 식으로)
  6. 본문은 영문 기준 72자마다 줄바꿈을 한다.
  7. 본문은 무엇을, 에 맞춰서 작성한다.

제목은 간단히 커밋의 목적을 요약해서 작성합니다.

Feat: "로그인 함수 추가"

제목 규칙으로는

  1. 50자 이내
  2. 시작할 때는 대문자로 시작 (보통 Fix, Add, Change 등의 명령어로 시작)
  3. 마칠 때 마침표 등의 특수문자 없이 작성
  4. 개조식으로 작성
  5. “타입: 내용” 의 형식으로 작성 (그리고 단순히 제목의 내용만 적는 것이 아니라, 앞에 Feat: 이라는 단어가 붙어있는데요, 이는 해당 커밋의 타입을 명시하는 부분입니다.)

타입은 여러가지를 지정할 수 있는데요, 보통 프로젝트에 맞춰서 아래와 같은 타입을 사용합니다.

  • Feat : 새로운 기능 추가
  • Fix : 버그 수정
  • Env : 개발 환경 관련 설정
  • Style : 코드 스타일 수정 (세미 콜론, 인덴트 등의 스타일적인 부분만)
  • Refactor : 코드 리팩토링 (더 효율적인 코드로 변경 등)
  • Design : CSS 등 디자인 추가/수정
  • Comment : 주석 추가/수정
  • Docs : 내부 문서 추가/수정
  • Test : 테스트 추가/수정
  • Chore : 빌드 관련 코드 수정
  • Rename : 파일 및 폴더명 수정
  • Remove : 파일 삭제

제목으로 어떤 타입을 사용할지는, 개발을 시작하기에 앞서서 팀에서 미리 합의를 한 후에 진행을 하는 것이 좋습니다.

 

본문은 다음과 같이 작성합니다.

로그인 기능 구현을 위해 로그인 요청을 보내는 axios 함수 작성
  1. 한 줄 당 72자 이내
  2. 아무리 길어도 괜찮으니, 최대한 상세히 작성
  3. 무엇을, 왜 변경했는지 작성 (코드 자체를 상세히 적는 것은 지양)

꼬리말은 다음과 같이 작성합니다.

Close: #123
  1. 꼬리말은 어디까지나 선택사항입니다. (없어도 무방합니다)
  2. "유형: 이슈번호" 형식으로 작성
  3. 유형은 “Close, Fix, Resolve” 등을 활용 (보통 Close 는 일반 개발 이슈를 닫을 때, Fix 는 버그 이슈를 닫을 때, Resolve 는 문의나 요청사항에 대한 이슈를 닫을 때 사용합니다.)

 

위에 내용들은 예시이고, 커밋 메세지를 어떻게 작성해서 날릴지는 팀원간의 합의로 정하면 됩니다.

728x90
반응형

'GIT' 카테고리의 다른 글

깃 관리전략(git flow, github flow, gitlab flow)  (0) 2023.07.14
깃 .gitignore 쉬운 세팅법  (0) 2023.07.13
깃 버전 되돌리기  (0) 2023.07.11
깃 정리  (0) 2023.04.12
깃 변경내용확인하기  (0) 2022.08.27