[Git Hub] Commit Message Conventions / Commit Message Convention 준수하기

미음제

·

2021. 11. 26. 19:43

https://gist.github.com/stephenparish/9941e89d80e2bc58a153

 

AngularJS Git Commit Message Conventions

AngularJS Git Commit Message Conventions. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

 

Commit Message Conventions를 참고해 Commit log를 남기기

 

우아한 테크코스 1차 테스트를 통과하고 24일 수요일부터 프리코스를 시작하게 되었다. 학교에서 프로젝트를 진행하거나 혼자 코딩을 할 때 Git Hub Commit Message를 신경 쓰지 않았다.

 

Commit 내용은 나만 보고, 같이 진행하는 동기정도만 보기 때문에 각자 알아볼 수 있을 내용으로 작성했다. 크게 신경 써 본 적이 없고, Commit Message Conventions이 있는지도 몰랐다.

 

프리코스를 진행하면서 과제 진행 요구사항으로 Commit Message Conventions를 참고해 Commit log를 남겨달라고 했다. 요구사항을 만족하기 위해 참고 문헌을 살펴보았다. 글 상단에 걸려 있는 링크가 참고 문헌이다. 해당 문헌을 보고, 구글링을 통해 다른 블로그 글을 보면서 왜 Commit Message Conventions을 참고해야 하는지 알게 되었다.

 

인턴 근무 당시에도 Git Hub을 통해 협업 했지만, 성과 평가를 위해 인턴 동기와만 Commit을 했기 때문에 Message 내용을 신경 쓰지 않았다.

 

왜 이런 규칙을 지켜야 하는지, 따라야 하는지는 명확하다. Commit 내용이 무엇인지? 이 내용이 무엇을 의도하는지? 보여주기 위함이다. 코드 전체를 보고 파악할 수 있지만, 코드의 양이 방대하다면 파악하는데 오래 걸린다. 규칙을 따라 Message를 작성하면, Commit Message를 통해 전체적인 내용을 파악하고 코드를 볼 수 있게 할 수 있다.

 

규칙은 다음과 같다.

 

  • 메세지 구조
  • 메세지 규칙
  • Type

 

1. 메세지 구조

<type>(<scope>): <subject> -- 헤더 
<BLANK LINE> -- 빈 줄 
<body> -- 본문 
<BLANK LINE> -- 빈 줄 
<footer> -- 바닥 글

기본적인 Commit 규칙이다. 규칙에 따라 Commit Message를 작성하면 된다.

 

2. 메세지 규칙

 

2.1 제목과 본문을 행으로 구분한다.

 

"<type>(<scope>): <subject> -- 헤더" 이 부분이 Message의 제목이 된다. 제목과 본문은 행으로 구분한다. 제목을 쓰고 "<BLANK LINE> -- 빈 줄"을 입력해 한 줄을 구분해 주면 된다.

 

2.2 제목은 50자 이내로 작성한다.

 

제목을 작성할 때 규칙은 "제목은 50자 이내로 작성한다."이다. 제목을 한번에 알아보기 쉽게 작성해야 한다.

 

2.3 제목의 첫 글자는 대문자로 작성한다.

 

1주차 과제를 진행하면서 작성할 때 까먹은 부분이다. 2주 차 과제를 진행할 때는 이 규칙을 잘 기억하며 작성할 필요가 있다.

 

2.4 제목의 끝에는 마침표를 사용하지 않는다.

 

2.5 본문의 각 행은 72자 이내로 작성한다.

2.6 '어떻게'보다 '무엇을', '왜'를 설명한다.

 

"<body> -- 본문 " 본문 내용을 작성할 때의 규칙이다. Commit의 제목만으로 설명이 부족할 때 작성한다.

 

3. Type

 

Type을 정해 Commit의 내용을 파악하기 쉽게 해준다.

 

feat 새로운 기능에 대한 커밋
refactor 리팩토링에 대한 커밋
test 테스트 코드 수정에 대한 커밋
docs 문서 수정에 대한 커밋
style 코드 포맷, (;) 누락 등에 대한 커밋
update 기존 코드 및 파일 업데이트에 대한 커밋

 

4. 기타

 

"<footer> -- 바닥 글" 꼬리말 규칙은 다음과 같은 규칙을 따른다. 꼬리말은 선택적이고 이슈 트래커 ID를 작성한다. 

작성 규칙은 "유형 : #이슈 번호" 형태이다. 이슈가 여러 개라면 콤마(,)로 구분한다.

 

현재 프리코스를 진행할 때, 혼자 진행하고 있기 때문에 꼬리말을 사용하지 않을 것 같은데, 협업을 하게 되면 자주 사용하게 될 것 같다. 프로젝트르 진행하면 이슈를 직면하는 건 필연적이다.

 


위 규칙을 처음 접했기 때문에 아직 익숙하지 않다. Commit을 할 때마다 작성해둔 템플릿을 참고하면서 Commit Message를 작성하고 있고, 최대한 Commit Message Conventions를 지키려고 노력 중이다. 최대한 참고하면서 작성한 Commit 예시들은 다음과 같다.

 

Commit 예시 1
Commit 예시 2
Commit 예시 3
Commit 예시 4

 

규칙을 세워놨지만, 익숙하지가 않아 "제목의 시작은 대문자로 한다."를 지키지 못했다. 본문의 내용도 빈약한 것 같다. 내가 작성한 Commit이라 나는 확실하게 파악할 수 있지만, 다른 사람들이 봤을 때 한눈에 알아볼 수 있을지 모르겠다. 다음 Commit Message를 작성할 땐 "제목은 대문자로", "본문의 내용은 상세하게(이해하기 쉽게)" 작성하도록 노력해야겠다.

 

 

반응형

'Developer > Git' 카테고리의 다른 글

[Git] 명령어 정리  (0) 2021.04.24