Commit message convention, Push
2024. 10. 17. 19:46ㆍGit
Commit
- git에 데이터 변동 사항을 설명(commit message)과 함께 저장하며 commit을 push하여 기존 데이터와 병합할 수 있다.
- 전체 파일이나 수정된 일부 파일들을 지정할 수 있다.
- cmd에서도 가능하고 IntelliJ 등 여러 IDE에서도 git을 지원하는 덕분에 편리하게 commit이 가능하다.

Commit log
- 이전의 commit 히스토리는 log를 통해 확인할 수 있다.
- origin은 원격 저장소(GitHub)를 나타낸다.
- HEAD는 현재 checkout한 branch를 통해 최신 commit 또는 현재 작업 공간을 가리키는 포인터이다.(아래 링크의 선생님 말씀 참고)
https://charles098.tistory.com/24

- cmd에서도 git log 명령어를 통해 확인할 수 있다.
- gitHub에서도 공개된 원격 저장소의 commit 기록을 확인할 수 있다.


Commit Message Convention
commit을 알아보기 위해 commit message를 "commit test"와 같이 의미 없는 내용으로 작성해봤다.
본격적으로 코드에 기능을 구현하여 commit을 할 때는 message를 의미 있고 일관성 있게 작성해야 추후 독자가 알아보기 편할 것이다.
일관성을 유지하기 위한 개발자 간 무언의 약속, 규약인 Commit Message Convention을 정의하고 작성해보자.
convention의 디테일은 프로젝트마다 정의하기 나름이다.
본 글은 아래 링크를 기반으로 여러 블로그 선생님들을 참고했다.
https://gist.github.com/stephenparish/9941e89d80e2bc58a153
Message 구조
- 대표적으로 subject(제목), body(본문), footer(꼬리말) 세 가지로 나뉘며 공백 행으로 구분한다.
- 모든 행은 100자 이내로 간결히 작성한다.
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Message Subject_제목(내용 요약)
- 70자 이내로 작성하여 한눈에 알아볼 수 있도록 한다.
- 마침표(.)와 특수 기호를 사용하지 않는다.
- 동사원형을 사용하며 첫 글자도 소문자로 작성한다.
<type>
- feat (feature) : 새로운 기능 추가
- fix (bug fix) : 버그 수정
- docs (documentation) : 문서 수정
- style (formatting, missing semi colons, …) : 코드 포맷팅, 세미콜론(;) 누락 등 구조 변동이 없는 경우
- refactor : 코드 리팩토링
- test (when adding missing tests) : 테스트 코드, 리팩토링 테스트 코드 추가
- chore (maintain) : 빌드 업무 수정, 패키지 매니저 수정
- comment : 주석 추가, 수정
- remove : 파일, 기능 삭제
- rename : 파일명, 함수명 등 이름 수정
- init : 프로젝트 초기 생성
<scope>
optional 항목으로, 생략하기도 한다.
변경된 부분을 의미하는데, 계산기 프로그램이라면 (덧셈), (결과 출력) 등이 될 수 있을 것 같다.
프로젝트의 성격에 따라 규정 또는 명세가 필요할 듯하다.
Message body_본문
- 동사원형을 사용하며 첫 글자는 대문자로 작성한다.
- 변경 내용과 이유 등을 설명한다.
- 한 행에서 100자 이상은 줄바꿈을 한다.
Message footer_꼬리말
- <{유형}: #{이슈 번호}> 형식으로 작성한다.
- 여러 개의 이슈 번호는 쉼표(,)로 구분한다.
이슈 유형
- Fixes : 해결이 안 되어 아직 수정 중.
- Resolves : 해결 완료.
- Ref : 참고 이슈.
- Related to : 해당 commit에 관련된 이슈로, 아직 해결 안 됨.
Push
- commit은 로컬 저장소에만 반영된다.
- 원격 저장소(GitHub)에도 commit을 반영하기 위한 작업이 Push이다.
- IntelliJ 기준으로 Git => push를 누르면 된다.(Ctrl+Shift+K)
활용
'Git' 카테고리의 다른 글
| README.md (1) | 2024.10.18 |
|---|---|
| 다른 개발자의 프로젝트 활용하기(fork, clone, branch) (3) | 2024.10.17 |
| Git과 GitHub (0) | 2024.10.17 |