Git_[2] git commit_convention

Leejaegun·2024년 9월 15일

Git

목록 보기
3/32

1. Commit Convention

Commit Convention이란, commit을 남기는 규칙

  • convention을 사용하는 이유는, 이러한 규칙으로 서로 커뮤니케이션을 수월히 하고 일관된 log를 남기기 위함
  • Header, Body, Footer 로 구성되며 이중 Body와 Footer는 생략 가능함.

🤔 commit의 header, body, footer가 뭐지?

👉 Header는 커밋 메세지의 제목
fix : 로그인 오류 수정

Body는,커밋에 대한 자세한 설명
로그인오류 어쩌구저쩌구에 문제가 발생하여~~ 이러쿵저러쿵해서 고쳤습니다.

Footer 특정이슈나 주석에 대한 추가 설명, 관련된 이슈번호 기록
Close:#1234


Header(subject)

  • commit log의 제목을 나타내는 부분으로 현재시제로 적음
  • prefix로 type가 붙으며 ,type 뒤에 대략적인 내용적음(구체적인것은 body나 footer로)
  • type에는 feat(새로운 기능), refactor(리펙토링),fix(버그수정), chore(빌드수정,패키지 수정),tests(테스팅),docs(문서작업)

ex)
feat: Add rest Api code(새로운기능 : rest api의 코드를 추가)

Body

  • 상세히 설명하는 부분으로 생략가능함

ex)
Header: feat : Add user Authetication feature
Body : Implemented user registration form with validation
Integrated authentication middle ware for secure log in process

Footer

  • 해당 작업과 관련된 issue tag를 기록함

  • Commit Log 에 Issue Tag 를 남기면 Github 에서 자동으로 해당 태그를 인식하여 Issue에 관련된 Commit을 연결해줍니다.

  • Issue나Commit 에서 양방향으로 서로를 참조할 수 있기 때문에 작업 History 관리목적으로 사용합니다.


🤔 issue tag 가 뭐고 어떠한 기능이 있는거지?

👉 특정 이슈와 관련된 커밋을 추적하거나 연결하기 위해 커밋메세지에 기록되는 태그.
이슈 트래커나 버그 관리 시스템(GitHub Issues, Jira 등)을 사용할 때, 각 이슈나 작업 항목에는 고유한 번호가 부여되는데, 커밋 메시지에 해당 이슈 번호를 태그로 기록함으로써, 커밋이 어떤 이슈와 관련이 있는지 명확히 표시할 수 있다.

ex) Closed #1234
-> Closed는 이슈가 해결되었음을 의미하며 #1234는 해당 이슈번호.


2. Gitmoji

Gitmoji란, 이모지를 사용하여 커밋의 의미를 표현하는 커밋컨벤션

ex) 이렇게 치고 함.
:sparkles: feat(새로운기능추가)
:bug: fix(버그수정)

3. Pre-Commit

Pre-Commit은, 말 그대로 Commit을 하기 전에 정해진 로직을 자동으로 실행합니다.

일반적으로 다음과 같은 로직을 실행합니다.

  • 코드 포맷팅
  • 정적 분석
  • 테스트 실행
  • 의존성 분석
profile
Lee_AA

0개의 댓글