

인간이 급속도로 발전할 수 있었던 이유는 바로 협업할 수 있었다는 것이다. 인간이 다른 동물들과의 다른 점은 본능을 통제할 수 있고, 생각할 수 있고, 협업을 통해 문제를 해결해 나갈 수 있다는 것이다.
만약 인간이 들소나, 코뿔소 아니면 하이에나, 사자와 같은 식습관과 지능을 갖고 있었다면 다른 동물들보다 빠르게 멸종했을 가능성이 컸을 것이다.
아무튼 인간은 협력이라는 힘이 있기에 이 정도로 왔는데, 협력은 어떻게 하는 것일까?
협력을 논하기 전에 인간의 사회마다 정해진 규칙이 있고, 우리는 이러한 규칙 아래서 서로 공존하며 살아간다. 규칙 중에는 '언어'라는 규칙도 있는데, 내가 대한민국에 살아가면서 필요한 언어 '한국어'가 있기에 오늘도 다른 사람들과 소통하고 웃을 수 있는 것이다.
여기서 '한국어'는 대한민국에서 사용하는 컨벤션이다. 즉 협력을 위한 규칙, 협약인 것이다.
미국에 가서 '한국어'를 사용하면 소통이 되지 않는 이유는 컨벤션이 다르기 때문이다.
한국인🐯과의 소통에서는 '한국어'를 사용하는 것처럼,
git을 사용하는 사람들과 소통하기 위해선 사람들은 git commit convention을 공부하고 지키게 된 것이다.
commit message는 크게 제목, 본문, 꼬리말 3가지 파트로 나뉘며, 각 파트는 빈 줄을 두어서 구분한다.
type(옵션): [#issueNumber - ]Subject // -> 제목
(한 줄을 띄워 분리합니다.)
body(옵션) // -> 본문
(한 줄을 띄워 분리합니다.)
footer(옵션) // -> 꼬리말
Feat: "회원 가입 기능 구현"
SMS, 이메일 중복확인 API 개발
Resolves: #123
Ref: #456
Related to: #48, #45
type은 어떤 의도로 커밋했는지를 type에 명시하는 것이다.
타입 ➡️ 태그 + 제목으로 구성되며, 태그는 영어로 쓰되 첫 문자를 대문자로 한다.
- 제목은 50자를 넘기지 않고, 마침표를 붙이지 않습니다.
- 제목은 과거형을 사용하지 않고, 명령조로 시작합니다.
- 완전한 서술형 문장이 아니라, 간결하고 요점적인 서술을 의미한다.
한글로 제목(subject)을 작성하는 경우
"고침", "추가", "변경" 등의 명령조 로 시작합니다.
ex) Feat: "추가 get data api 함수"영어로 제목(subject)을 작성하는 경우
영문으로 표기하는 경우 동사(원형)를 가장 앞에 두고 첫 글자는 대문자로 표기한다.(과거 시제를 사용하지 않는다.)
* Fixed --> Fix
* Added --> Add
* Modified --> Modify
- optional임
- 부연설명이 필요하거나 커밋의 이유를 설명할 경우 작성해주면 됩니다.
- 본문 내용은 어떻게 변경했는지 보다, 무엇을 변경했는지 또는 왜 변경했는지 를 설명하도록 합시다.
- 본문 내용은 양에 구애받지 않고 최대한 상세히 작성한다.
- 제목과 구분되기 위해 공백 한 줄을 띄워서 작성해줍시다.
- 꼬리말은 Optional(선택적)이고 이슈 트래커 ID를 작성한다.
- 꼬리말은 유형: #이슈번호 형식으로 작성한다.
- 여러 개의 이슈 번호를 적을 때는 쉼표(,)로 구분한다
- 이슈 트래커는 다음 중 하나를 사용한다.
- Fixes: 이슈 수정중(아직 해결되지 않은 경우)
- Resolves: 이슈를 해결했을 때 사용
- Ref: 참고할 이슈가 있을 때 사용
- Related to: 해당 커밋에 관련된 이슈 번호(아직 해결되지 않은 경우)
ex) Fixes: #45 Related to: #34, #23
convention을 적용해서 깔끔하게 commit log를 남겨보자. 그럼 20000!