커밋 메시지 규칙에 대한 논의
StarJade-Park opened this issue · 8 comments
ref link : https://item4.github.io/2016-11-01/How-to-Write-a-Git-Commit-Message/
- 제목과 본문을 빈 행으로 분리
- 제목 행을 50자로 제한
- 제목 행 처음에는
[한 일]
을 대문자로 표기
e.g)[UPDATE] WTF is that?
- 제목 행에는 마침표를 넣지 않음
- 제목 행 뒤에는 요약 문 넣을 수 있음(50자 이하)
- 본문은 80자 단위로 개행
- 마지막으로 변경된 파일들에 대한 이력 개시
[REFACTORING] 프로젝트 구조 개선
호출 모듈 간의 복잡성 개선을 위해 프로젝트 구조를 일부 변경함 (커밋에 대한 요약 50자 이하)
다른 예시)
Hotfix: setup.py의 경로 설정 기능이 bench시 적용되지 않음으로 비활성화
Modification: README를 markdown lint에 따라 일부 수정
foo.py에서 호출하는 모듈 dir_fast/bar.py와 env_set/path_flags.py의 복잡성 ~~~
(생략 가능)
해결된 부분에 대한 설명
(생략 가능)
커밋 내에 여러 가지 일을 포함하고 있으면
- 다음과 같이 개조식으로 서술
- 한 일 1
- 한 일 2
- ...
이슈 #123
파일 이력
modified: README.md
new file: setup.py
위와 같은 형태로 커밋 메시지 규칙을 설정하였으면 좋겠음.
의견 개진 바람.
[한 일]
FIX
HOTFIX
BUGFIX
ENHENCEMENT
REFACTORING
UPDATE
ADD
DEL
파일 이력
new file:
modified:
deleted:
커밋 메세지 상에서 자동으로 issue close 하는 방법
http://minsone.github.io/git/github-commits-closing-issues-via-commit-messages
issue 번호는 제목에 포함시키는게 더 좋을듯
파일 이력은 따로 밑에 추가로 넣을 필요 없을듯 어차피 로그 밑에 파일 바뀐거 나오니
내용에서 어떤 파일에서 어떤 클래스의 어떤 함수가 변경 되었다 를 표기해는 걸로 퉁치는게..
[한 일] 같은경우 제목에 포함하는 방식보다는 라벨 같은거를 달아서 하는 방식이 가장 좋을듯한데
다른 깃헙 커밋로그 보니 issue의 제목을 그대로 가져와서 사용하는 방식도 있었음.
무었을 했는지?, 어떻게 했는지?, 왜 했는지?
이 3가지 내용을 꼭 포함하면서 커밋하는 내용들은 원자적인 내용을 가져야 한다고 생각함
(원자적이다는 말은 리펙토링을 했으면 하나의 커밋내용에는 리펙토링한 내용만 가지고 있어야한다는 의미, 보통 함수 선언을 할때 1개의 동작 만해야한다는 원리랑 비슷)
fix issue #10 B 클래스의 C 함수구현을 변경
A버그는 D가 원인이기 때문에 E 구현하는것으로 변경함
이런식으로 한다던가
여러가지 형식을 만들어 장단을 비교해봐야할듯 하다
파일 이력 제외 동의.
이슈 번호는 PR 번호를 말하는 것인지?
마지막 문단은 동의 불가. 이슈 처리 및 PR 논의에서 충분히 가능함.
OOP를 과하게 적용하려는 시도와 유사하게 보임.
- 제목과 본문을 빈 행으로 분리
- 제목 행을 50자로 제한
제목 행 처음에는[한 일]
을 대문자로 표기- 제목 행에는 마침표를 넣지 않음
- 제목 행 뒤에는 요약 문 넣을 수 있음(50자 이하)
- 본문은 80자 단위로 개행
마지막으로 변경된 파일들에 대한 이력 개시
내가 요약문을 사용하고자 하는 이유인데, 커밋 메시지 제목에는 대략적인 내용을 적음.
요약문에는 조금 더 구체적인 내용을 서술하고, 본문은 제목, 요약과 달리 제한 없으니 필요한 만큼 자유롭게 서술하면 됨.(80자 단위 개행은 제한이 아니잖아?)
제목행 앞에 PR 번호를 적는 것으로 충분하다고 생각함.
ㅇㅋ
- 제목과 본문을 빈 행으로 분리
- 제목 행을 50자로 제한
제목 행 처음에는[한 일]
을 대문자로 표기- 제목 행에는 마침표를 넣지 않음
- 제목 행 뒤에는 요약 문 넣을 수 있음(50자 이하)
- 본문은 80자 단위로 개행
마지막으로 변경된 파일들에 대한 이력 개시- 제목 행 처음에는
[PR, issue 번호]
를 표기