깃허브에 커밋을 할 때 우리는 커밋 내용을 작성하고,
협업을 할 때 커밋 히스토리를 확인하여 어떤 부분이 변경되었고 어떤 부분이 삭제되었는지, 그리고 어떤 부분이 추가되었는지를 알 수 있다.
하지만 위와 같이 작성을 하면 시간이 오래 지난 후
잘 적어놓았다고 하더라도 커밋 내용에 대한 기억이 흐려지기 마련이다.
위 이미지의 경우 README에 어떤 내용을 커밋했는지를 알 수 없고, 작업한 내용을 적어놓았다고 하더라도 가독성이 떨어지는 문제점을 가지고 있다.
협업 과정에서 가장 중요한 것 중 하나는 의사 소통
이다. 하지만 위의 커밋 메세지로는 다른 사람의 작업 내용을 알기란 쉽지 않다. 따라서 깃허브 커밋 메세지를 작성할 때도 어느 정도의 컨벤션이 있다.
위의 커밋 히스토리는 커밋 메시지 컨벤션을 사용하여 작성된 메시지들이다. 커밋 메시지들을 사용하면 가독성을 높이고 코드 리뷰를 용이하게 해준다. 또한, 어떠한 작업을 했는지 상대적으로 명확해지므로 협업
을 할 때 유용하게 사용된다. 따라서 이러한 커밋 메시지 컨벤션을 정리해보려고 한다.
커밋 메시지는 type
, body
, footer
로 나뉜다.
type [옵션] : [#issueNumber] Subject제목
[한 줄 공백으로 body와 구분]
body : 본문
[한 줄 공백으로 footer와 구분]
footer : 꼬리말
무엇
을, 왜
했는지를 작성한다.한 줄
에 최대 72자
를 넘기지 않도록 한다.유형: #이슈 번호
형식으로 사용한다.사용 이모지 | Description |
---|---|
🎨 | 코드의 형식/구조를 개선 |
📰 | 새 파일을 만들 때 |
📝 | 사소한 코드 또는 언어를 변경 |
🐎 | 성능 향상 |
📚 | 문서 작성 |
🐛 | 버그 reporting : @FIXME 주석 태그 삽입 |
🚑 | 버그를 고칠 때 |
💚 | CI 빌드 고칠 때 |
🔥 | 코드 또는 파일을 제거할 때 @CHANGED 주석 태그와 함께 사용한다. |
🔨 | 코드를 리팩터링할 때 |
💄 | UI/Style 개선 |
🎉 | Initial Commit |
🐳 | Docker 구성 |
💎 | New Release |
🐧 | 리눅스 에서 무엇을 수정할 때 |
🍎 | Mac OS 에서 무엇을 수정할 때 |
🏁 | Windows 에서 무엇을 수정할 때 |
🔒 | 보안 을 다룰 때 |
☔️ | 테스트 를 추가할 때 |