Git/Git

[Git] Git 좋은 commit 방법

갈푸라떼 2022. 1. 28. 19:35

* commit 할 때 권장사항

1. 하나의 커밋에는 한 단위의 작업을 넣도록 합니다.

  • 한 작업을 여러 버전에 걸쳐 커밋하지 않습니다.
  • 여러 작업을 한 버전에 커밋하지 않습니다.

2. 커밋 메시지는 어떤 작업이 이뤄졌는지 알아볼 수 있도록 작성합니다.

 

* 커밋 메시지 컨벤션

- 좋은 커밋메세지를 작성하기 위한 규칙들

  • 네이밍을 명시적이고 규칙적으로 작성

* 커밋 메세지의 규칙

  • 제목과 본문은 빈 행으로 구분한다.
  • 제목을 50글자 이내로 제한합니다.
  • 제목의 첫 글자는 대문자로 작성합니다.
  • 제목의 끝에는 마침표를 넣지 않습니다.
  • 제목은 명령형으로 과거형을 사용하지 않습니다.
  • 본문의 각 행은 72글자 내로 제한합니다.
  • 어떻게 보다는 무엇과 왜를 설명 합니다.

* 커밋 메세지 구조

<type>(<scope>) : <subject> -- 헤더
<BLANK LINE>                    -- 공백
<body>                             -- 본문
<BLANK LINE>                    -- 공백
<footer>                            -- 바닥 글
  • <type>은 해당 commit의 성격을 나타낸다. type에 대한 예시는 아래의 표를 참조
  • <subject> 커밋의 작업 내용을 간략히 설명
  • <body>는 본문으로 헤더에서 생략한 상세한 내용을 작성
    • 헤더로 충분히 표현이 가능하다면 생략이 가능
  • <footer>는 바닥글로 어떤 이슈에서 왓는지와 같은 참조 정보를 추가하는 용도로 사용
    • ex) 특정 이슈를 참조하기 위해서 close #005와 같이 사용하면 된다.
    • 그리고 이는 main 브랜치로 push될 때 닫기(cloese) 된다.
    • 해결(이슈 해결시 사용)
    • 관련(해당 commit에 관련된 이슈 번호)
    • 참고(참고할 이슈가 있는 경우 사용)
    • 위의 3가지 타입을 사용할 수 있다.

* Type

feat 새로운 기능 추가
fix 버그 수정
docs 문서 수정
style 공백, 세미콜론 등 스타일 수정
refactor 코드 리팩터링
perf 성능 개선
test 테스트 추가
chore 빌드 과정 또는 보조 기능(문서 생성기능 등) 수정

 

* 커밋 메세지 예시

Feat : 특정지역 알림 ON/OFF 기능 추가 (#123)

각 지역의 알림들을 ON/OFF 할 수 있도록 기능을 추가함
- opnion0055 : 구분코드

해결 : close #123

* Gitmoji를 이용한 commit

😊사이트 방문하기